Post

세상을 바꾸는 기계 지능

세상을 바꾸는 기계 지능

개요

최근에는 일상 생활의 많은 부분에서 기계 지능의 도움을 받고 있다. 기계 지능은 머신러닝, 인공지능, 빅데이터 등의 분야가 포함된 주제다.

기술 발전과 인터넷의 영향으로 더 좋은 성능의 기계를 더 저렴하게 사용할 수 있고, 방대한 양의 정보를 수집할 수 있게 되면서 기계 지능은 급속도로 발전하고 있다.

빅데이터는 의사결정 과정에서 사용되는 정보와 과정들이고, 이를 처리하면서 각각의 의사결정 과정을 배운다. 하지만, 빅데이터는 아직 정제되지 않은 상태이기에 데이터 마이닝을 통해 정제된 데이터를 분류해야 한다. 분류된 데이터, 즉, 훈련 데이터를 프로그램에 넣고 훈련 시키는 과정이 머신러닝이다.

컴퓨터가 스스로 이러한 과정들을 수행할 수 있는 것을 인공지능이라고 한다. 즉, AI라는 것은 스스로 목표를 달성하기 위해 프로그램을 작성할 수 있어야 한다.

머신러닝

베이즈

  • 베이즈 정리는 여러 사건이 조합될 때 확률에 대한 공식이다.
  • 나이브 베이즈 분류는 각 종류의 데이터들의 특징으로 어떤 분류에 속하는지에 대한 확률을 계산하는 분류 기법이다.
  • 예를 들면 스팸 메시지를 구분할 때 사용할 수 있다.

가우스

  • 가우스 분포(혹은 종모양 곡선, 정규 분포)
  • 자연 현상이나 데이터의 분포가 평균을 중심으로 좌우 대칭의 종모양 곡선을 이루는 경우가 많으며, 표준편차 내에 대부분의 값이 포함된다는 특성을 갖고 있다.
  • 통계뿐만 아니라 이미지 처리 등 다양한 분야에서 활용된다.
  • 이미지 블러 처리에서 많이 사용된다.
  • 3차원 가우스 분포를 이용해 이미지를 부드럽게 만드는 과정을 가우스 블러라고 한다.
  • 이미지를 흐리게 하면 잡음이 줄고, 원치 않는 세부 정보를 제거할 수 있다.
  • 가우스 블러는 이미지의 각 픽셀을 중심으로 주변 픽셀 값에 가중치를 곱해 평균을 내는 방식으로 동작한다.
  • 이런 과정에서 픽셀과 주변 픽셀 값을 조합하는 과정을 컨볼루션이라 한다.
  • 컨볼루션에 사용하는 가중치 배열을 커널 혹은 컨벌루션 커널이라 한다.
  • 커널의 크기에 따라 블러의 강도가 달라진다.

소벨

  • 이미지에는 실제로 대상을 식별할 때 필요 없는 정보가 많다. (색깔 같은 경우)
  • 점 하나, 선 하나만 있어도 얼굴을 인식할 수 있듯, 세부 사항을 생략하고 이미지를 단순화하는 것이 중요하다.
  • 테두리는 이미지의 경계로 밝기 변화가 가장 큰 부분이다.
  • 밝기 변화는 픽셀과 픽셀 사이에서 일어난다.
  • 미분을 적용해 밝기 변화량을 측정한다.
  • 가우스 곡선의 기울기를 이용해 밝기 변화가 일어나는 지점을 찾는다.
  • 소벨 연산자를 사용해 이미지의 경계를 검출할 수 있다.
  • 수평, 수직 방향의 커널을 적용해 각 방향의 밝기 변화(증감률)를 계산한다.
  • 각 픽셀마다 수평, 수직 방향의 변화량을 구하고, 이를 통해 크기와 방향을 계산한다.
  • 얻은 방향 정보는 여러 방향(Bin)으로 나눠서 정리할 수 있다.
  • 각 방향별로 테두리의 강도와 분포를 분석할 수 있다.
  • 블러 처리를 통해 잡음(물체의 특성)을 줄여 테두리를 더 명확하게 찾을 수 있는 것이다.
  • 이미지의 경계 검출, 객체 인식 등 다양한 컴퓨터 비전 분야에서 활용된다.

캐니

  • 테두리를 가늘게 하는 비최댓값 억제 기법을 통해 이미지의 특성을 더 쉽게 알아낼 수 있다.
  • 각 픽셀의 경계값을 해당 방향의 이웃 픽셀과 비교해, 만약 가운데 픽셀이 주변보다 크면 값을 유지하고 그렇지 않으면 0으로 만든다.
  • 이렇게 테두리가 두껍고 모호한 부분을 얇게 만든다.
  • 비최댓값 억제 → 소벨 연산자로 테두리 검출 → 이진화 과정으로 약한 테두리 제거 → 강한 테두리만 남음

특성 추출

  • 대표적으로 휴 변환 알고리즘이 있다.
  • 기하학적인 모양을 추출하기 좋다.
  • 이미지에서 테두리를 추적하고, 물체를 추출할 수 있다.
  • 이렇게 몸통, 다리, 귀 같은 특성을 찾을 수 있다.
  • 추출한 특성을 분류기에 넣어 필요한 특성과 불필요한 특성으로 나눈다.
  • 블러 처리 → 테두리 감지 → 비최댓값 억제 → 테두리 추적 → 특성 추출 → 분류
  • 위의 과정을 통해 이미지를 인식한다.

인공 신경망

  • 인간의 뇌 신경세포인 뉴런을 모방한 구조로 다양한 데이터를 효과적으로 처리하고 표현하기 위해 고안된 모델이다.
  • 뉴런처럼 수상돌기를 통해 입력을 받아들이고, 축삭을 통해 신호를 전달하며, 축삭종말에서 출력이 발생한다.
  • 초기에는 논리 게이트와 유사하게 작동했고, 입력 값에 가중치를 곱해 더한 뒤, 기준을 넘으면 출력하는 방식이었다.
  • 퍼셉트론은 가장 기본적인 신경망 모델로 입력과 출력이 0과 1만 가진다.
  • 복잡한 문제 해결을 위해 여러 퍼셉트론을 계층으로 쌓아 다중 신경망을 만들었다.
  • 각 계층은 입력, 은닉, 출력 계층으로 구성되고, 은닉 계층이 많아질수록 더 복잡한 패턴을 학습할 수 있다.
  • 연속적인 출력을 내는 시그모이드 함수 같은 활성화 함수를 도입해 퍼셉트론의 한계를 극복했다.
  • 신경망의 가중치는 역전파 알고리즘을 통해 오차 함수를 최소화 하는 방향으로 조절한다.
  • 경사 하강법을 사용해 오차를 줄여나간다.
  • 순환 신경망(RNN)은 출력이 다시 입력으로 돌아가 순차적 데이터에 적합하다.
  • 합성곱 신경망(CNN)은 입력 데이터의 공간적 구조를 잘 반영해 이미지 처리 등에서 성능이 좋다.
  • 잘못된 훈련 데이터, 즉, 편향된 데이터가 들어가면 신경망이 중독되어 이상한 행동을 보일 수 있다.
  • 신경망은 많은 입력 데이터를 받아서 원하는 출력을 낼 수 있어야 한다.

머신러닝 데이터의 활용

This post is licensed under CC BY 4.0 by the author.