인공지능과 학습 - ChoDragon9/posts GitHub Wiki
지능의 세 가지 요소
생각하는 생명체는 다양한 의사 결정을 필요로한다. 자동차를 운전해서 퇴근을 하는 상황을 상상해보자. 언제 업무가 끝날 지 언제 교통체증이 생기지 않을 지 생각하고 언제 퇴근하면 좋을 지 판단하게 된다. 과거의 경험, 혹은 다른 요인을 통해 판단하고 행동하는 것이다. 지능은 이처럼 주어진 환경에서 추론하고 결정하고 행동하는 것을 의미한다.
- 상황 판단 - 분석적으로 문제를 해결하기 위해 필요한 사항들을 분석하는 능력
- 추론 및 판단 - 통합적으로 새로운 정보와 과거의 정보를 통합적으로 고려하여 창의적 결론에 도달하는 능력
- 반응 혹은 행동 - 실용적으로 결론에 따른 실제 행동을 취하는 것
머신러닝 3가지 학습방법
- 지도학습 (Supervised Learning)
- 입력된 데이터에 대한 판단 결과가 명확히 주어진 경우 사용하는 방법이다.
- 비지도학습 (Unsupervised Learning)
- 입력된 데이터에 대한 판단 결과가 명확하게 주어지지 않은 경우 사용한다.
- 답이 정해져 있지 않기 때문에 하나의 결과를 도출할 수 없기에 군집분류(Clustering)에 사용하는 방법이다.
- 몇가지 특징을 기반으로 그룹을 분류하게 된다.
- 꽃 이미지를 분류한다면 꽃받침의 길이와 폭, 꽃잎이 특징이 되고 특징에 따라 세 종류의 꽃으로 분류하면 세 종류라고 하는 것이 군집이 된다.
- A와 B의 두가지 입력된 자료가 있는 데 이 둘이 A인지 B인지 모르고 단지 둘의 차이를 스스로 학습해서 '다르다'라고 군집분류하는 것이다.
- 강화학습 (Reinforcement Learning)
- 주어진 문제의 답이 명확히 떨어지지는 않지만, 결과에 따라서 보상(Reward)과 손실(Penalty)이 주어진다면 이를 통해 보상을 최대화 하는 방향으로 진행하도록 모델을 학습하는 방식이다.
- 입력된 데이터에 대한 답이 명확하게 주어지지 않는다는 점에서 비지도 학습과 유사
- 하지만 결과를 통해 피드백을 받아 이를 학습에 반영한다는 것이 다르다.
특징 설계
머신러닝의 분류 성능은 학습하고자하는 영역(Domain)의 특징(Feature)을 사전에 어떻게 정의하고, 각 특징의 중요성을 가중치(Weight)를 어떻게 주는냐에 따라 좌우된다.
사람의 얼굴 이미지 인식을 예를 들면 특징을 피부색, 눈 모양, 얼굴의 윤곽이라고 했을 때, 입력값이 페이스 페인팅한 얼굴 사진을 입력한다면 기계는 사전에 분류된 얼굴색의 특징과 다르게 때문에 분류에 실패하게 된다.
딥러닝
2012년 이미지넷의 이미지 인식 경연대회에서 AI 연구 분야의 흐름을 바꾸는 일이 벌어졌다. 토론토대학교의 제프리 힌튼 교수님의 팀인 SuperVision
은 Large, Deep Convolutional Neural Network
이라는 알고리즘을 이용해 이미지를 인식했다. 엄청난 격차로 1등을 하게 되었다.
인간의 뇌는 시각, 후각, 촉각, 청각, 미각 등 다양한 감각 기관으로 입력된 정보를 종합적으로 판단해 즉각적인 반응을 내놓게 된다. 수 많은 뉴런들의 연결로 구성되어 있는 뇌의 구조를 신경망(Neural Network)이라고 한다. 하나의 뉴런은 다양한 뉴런들과 연결되어있고, 시냅스를 통해 신호를 주고 받으며 정보를 전달하게 된다.
뉴런에 임계치 이상의 신호가 입력되면, 그 뉴런은 활성화되면서 시냅스를 통해 신호를 전달하고 임계치를 넘지 않는 경우 뉴런이 활성화되지 않아 신호가 전달되지 못한다. 딥러닝은 뇌의 정보 전달 방식과 유사하게 신경망 구조를 여러 층으로 깊이(Deep)있게 구성하여 학습을 진행하는 것이다.
기존 머신러닝 방법론은 특징 설계를 통해서 입력값에 특징을 사전에 추출하고 추출된 특징을 바탕으로 분류하여 학습을 진행한다. 하지만, 딥러닝은 정보를 구분할 수 있는 최소한의 단위를 입력하면, 입력된 값과 출력된 결과물의 오차가 최소화 되는 방향으로 네트워크가 스스로 학습한다. 중간에 특징 추출 과정이 사라지고 입력과 출력의 데이터만 주어지면 학습을 할 수 있기 때문에 E2E학습이라고도 부른다.
딥러닝의 Deep의 의미는?
딥러닝의 Deep은 다양한 측면의 의미를 가지고 있다. 대부분의 AI연구자들에게는 인공신경망의 은닉층(Hidden Layer)이 2개층 이상인 경우 Deep(깊은)이라고 생각한다. 이러한 정의는 2개층 이상으로 신경망을 구성할 때, 성공적인 학습과 예측을 수행한다는 것을 의미한다.
인공신경망 학습에서는 인간이 수행하는 특징설계가 필요치 않기 때문에 기계가 스스로 입력된 데이터의 특징을 찾기 위한 학습 과정을 거친다. 이러한 과정을 심화학습이라고 표현할 수 있다.