머신러닝이란?
머신러닝은 인공지능의 하위 분야로, 명시적인 프로그래밍 없이도 트레이닝 데이터를 통해 스스로 개선할 수 있는 컴퓨터 알고리즘을 다룹니다. 이는 인간에 더욱 가까운 인공지능을 확보하는 가장 유망한 방식으로 여겨지고 있습니다.
머신러닝 알고리즘은 크게 다음 세 가지 카테고리로 분류할 수 있습니다.
- 지도 학습: 라벨을 제공하고, 원하는 예시 입력과 출력을 제시하여 알고리즘이 입력과 출력을 연결하는 규칙을 익힐 수 있도록 합니다.
- 비지도 학습: 라벨을 제공하지 않고 알고리즘이 입력 처리를 위한 구조를 자체적으로 찾아내도록 합니다.(예: 데이터에서 숨겨진 패턴 발견)
- 강화 학습: 이 알고리즘은 게임에서 이기거나 자동차를 운전한다는 식의 특정 목표 하에 동적 환경과 반복적으로 상호 작용을 합니다. 이 알고리즘은 시행착오를 반복해 문제에 대한 최적의 솔루션을 추정합니다.
이 페이지에선 머신러닝과 딥러닝을 간략하게 알아보고, 두 개념의 차이점을 살펴보겠습니다.
딥러닝이란?
딥러닝은 인공 신경망을 사용해 인간의 지능 수준을 구현하는 머신러닝의 한 분야입니다. 딥러닝은 인간의 신경 세포에 착안, 그래프 이론을 사용해 가중 알고리즘을 노드와 엣지의 계층으로 배열합니다. 딥러닝 알고리즘은 이미지 또는 언어와 같은 비정형 데이터를 처리하는 데 적합합니다.
기술적인 측면에서 ‘딥’으로 분류되기 위해서는 신경망에 지각의 입력 및 출력 계층 사이에 숨겨진 층, 즉 신경망의 기본 구조가 갖춰져 있어야 합니다. 이러한 계층은 외부 세계와 연결되지 않아 ‘숨겨진’ 계층으로 간주됩니다. 딥러닝 아키텍처의 예는 다음과 같습니다.
- 피드포워드(FF): 데이터가 입력 계층에서 출발해 숨겨진 계층을 거쳐 출력 계층으로, 한 방향으로만 전달됩니다. 모든 노드가 연결되어 있으며, 데이터가 숨겨진 계층을 통해 다시 순환하지 않습니다. FF는 데이터 압축과 기본적인 이미지 처리에 사용됩니다.
- 순환 신경망(RNN): 반복 중에 이전 정보를 액세스할 수 있도록 숨겨진 계층에 시간 지연 기능을 추가하는 피드포워드 신경망의 한 유형입니다. 순환 신경망의 피드백 루프는 메모리에 가까운 값을 추정하기 때문에 언어 처리에 적합합니다. 좋은 예는 가장 자주 사용하는 단어에 따라 추천을 맞춤화하는 예측 텍스트입니다.
- 합성곱 신경망(CNN): 합성곱은 두 가지 함수에 대한 수학적 연산으로, 한 함수가 다른 함수로 인해 어떻게 수정되는지를 설명하는 세 번째 함수를 생성합니다. CNN은 AI의 ‘눈’이 되어 주로 이미지 인식 및 분류에 사용됩니다. CNN의 숨겨진 계층은 가중 합을 사용해 픽셀의 테두리, 색상, 대비 및 기타 요소를 식별하는 수학적 필터의 역할을 합니다.