Artifical Intelligence, 사람의 지능을 모방하여 사람이 하는 것과 같이 복잡한 일을 할 수 있는 기계를 만드는 것.
이러한 인공지능을 구현하는 방법은 크게 기계학습(머신러닝), 딥러닝이 있다.
컴퓨터가 명시적으로 프로그램되지 않고 컴퓨터가 학습할 수 있도록 하는 것
프로그램에서는 입력과 조건을 주어 명시적으로 동작(정답 출력)
시킨다.
하지만 머신러닝은 입력을 주고 정답을 알려준 다음 컴퓨터가 조건을 찾게한다
ex) 고양이 사진과 이것이 고양이라는 것을 알려주고 컴퓨터는 고양이가 되는 조건을 찾는다.
마치 어린아이에게 사진을 보여주며 ‘이건 고양이야’라고 알려주는 것 같다
여러 고양이 사진을 보면서 조건을 찾으며 학습해간다. 그리고 새로운 고양이 사진을 보고 누적된 조건을 통해 고양이 사진이라는 걸 유추할 수 있다.
💡 지도학습(Supervised)
정답이 있는 것
을 학습시키기 ex) 이 사진이 고양이냐 아니냐💡 비지도학습(Unsupervised)
정답이 없고 추측 가능한 것
을 학습시키기 ex) SNS에서 이 사람과 이 사람을 알고 있으니 이 사람도 알거야! 같은 추천시스템?💡 강화학습(Reinforcement)
해당 상황에서 최적화된 행동
현재의 상태에서 어떤 행동을 취하는 것이 최적인지를 학습(행동을 취할 때마다 보상이 주어짐. 이런 보상을 최대화 하는 방향으로 학습이 진행됨.) ex) 기계 팔에게 탁구를 가르치는 것. 어떻게 들어오면 어떻게 치는게 가장 최적화된 방법인지사람이 하는 학습의 결과 두뇌에 축적됨.
머신러닝의 결과는 가중치(파라미터) 값의 형태로 축적된다
인공신경망(Artificial Neural Network)의 한 종류
인간의 뇌는 1000억 개가 넘는 신경세포(뉴련)이 스냅스를 통해 병렬적으로 연결되어 있음. 인경신경망 뉴런 모델은 생물학적 뉴런을 수학적으로 모델링한 것.
인간이 여러개의 뉴런으로부터 입력값을 받아서 세포체에 저장 용량을 넘어서면 외부로 출력값을 내보내는 것처럼 인공신경망은 입력값을 받아서 일정 수준이 넘어서면 활성화되어 출력값을 내보낸다.
인공신경망은 이런 인공 뉴련들을 여러개 쌓아만든다. 여러 뉴러들이 모여 하나의 Layer가 생기고 여러 Layer들로 구성된 것이 인공신경망에서 다층 퍼셉트론(MLP, Multi-Layer Perception)이라고 함
💡 다층 퍼셉트론의 한계점
- Layer가 깊어질수록 역전파 학습과정에서 데이터가 사라져 학습이 잘되지 않는 ‘사라지는 경사도(Vanishing Gradient)’문제
- 새로운 사실을 추론하는 것, 새로운 데이터를 처리하는 것을 잘 하지 못함
💡 인공신경망(다층 퍼셉트론) 해결
2000년이 넘어 신경망 학습시 사전(Pretrainig)학습을 함으로써 Vanishing Gradient 문제 해결
새로운 데이터를 잘 처리 못하는 문제는 고의로 데이터를 누락(dropout)시키는 방법을 적용
위와 같은 한계를 뛰어넘은 인공신경망을 ‘딥러닝’이라 부름(리브랜딩)