인공지능은 가장 큰 분야이고, 머신러닝은 포함되고, 딥러닝이 가장 작은 분야입니다.
인공지능이란 1950년도에
컴퓨터가 생각할 수 있는가? 하는 질문을 하면서 시작되었습니다.
간결한 정의는 보통 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구활동 입니다.
아주 오랫동안 많은 전문가들은 명시적인 규칙을 충분히 많이 만들어 지식을 다루면
인간수준의 인공지능을 만들 수 있다고 믿었습니다. 이런 접근 방법이 심볼릭 AI.
1950~1980년대까지 지배적인 패러다임이었습니다.
1980년대 전문가 시스템의 호황으로 그 인기가 절정에 다다랐져.
하지만 문제가 생겼습니다.
잘 정의된 논리적인 문제,
즉 체스 게임 같은 문제는 잘 풀 수 있었지만,
어려운 문제를 풀 수 없었습니다.
이미지 분류, 음성 인식, 언어 번역 등
더 복잡하고 불분명한 문제를 해결하기가 어려웠죠.
이런 문제에는 명시적인 해결책이 없습니다.
불분명한 문제와 불분명한 답
그래서 등장한 것이 머신러닝입니다.
머신러닝은 이런 질문에서 출발합니다.
우리가 어떤 것을 작동시키기 위해
'어떻게 명령할지 알고 있는 것' 이상을 컴퓨터가 처리하는 것이 가능한가?
'특정 작업을 수행하는 법을 스스로 학습할 수 있는가?
컴퓨터가 우리를 놀라게 할 수 있을까?
프로그래머가 직접 만든 데이터 처리 규칙 대신 컴퓨터가 데이터를 보고 자동으로 이런 규칙을 학습할 수 있을까?
이 질문은 새로운 프로그래밍 패러다임의 장을 열었습니다.
전통적인 프로그래밍에서는
규칙과 데이터를 입력하면 => 해답이 나옵니다.
하지만 머신러닝은
데이터와 해답을 입력하면 => 규칙이 나옵니다.
머신러닝 시스템은 명시적으로 프로그래밍 되는 것이 아니라
훈련 됩니다.
(이 훈련된다는 점이 재밌는 점입니다. 1개의 솔루션만을 추출해야 한다면, 훈련이 필요 없습니다. 알고있는 데이터와 알고 있는 해답을 기준으로 => 보다 광범위한 규칙을 찾고 이것을 더 넓은 범위의 문제에 적용한다. 가 제 생각엔 머신러닝 인 것 같습니다. 그러니 당연히 학습이 필요합니다.)
머신러닝을 하기 위해서는 3가지가 필요합니다.
입력 데이터 포인트
기대 출력
알고리즘 성능을 측정하는 방법
데이터 예시) 문제가 음성인식이라면, 데이터는 사람의 사운드 파일입니다.
출력 예시) 음성인식작업에서 출력은 사람이 사운드 파일을 듣고 옮긴 글입니다.
알고리즘측정법) 알고리즘의 현재출력과 기대출력 간의 차이를 결정하기 위해 필요합니다.
측정값은 알고리즘의 작동방식을 교정하기 위한 신호로 다시 피드백 됩니다.
이런 수정단계를 학습이라고 말합니다.
머신러닝 모델은 입력 데이터를 의미 있는 출력으로 변환합니다.
이것이 알고 있는 입력과 출력샘플로부터 학습하는 과정입니다.
그렇기 때문에 머신러닝과 딥러닝의 핵심 문제는
의미있는 데이터로의 변환입니다.
다시 말해, 입력 데이터를 기반으로 기대 출력에 가깝게 만드는 유용한 표현을 학습하는 것입니다.
여기서 표현이란? 방법입니다.
컬러를 RGB, HSV 등 다양한 방법으로 변환할 수 있는데요.
좀더 좋은 답을 찾기 위한 방법은 매우 여러가지가 있을 수 있습니다.
딥러닝에서 딥이란 무엇인가?
딥러닝은 머신러닝의 특정 분야로서 연속된 층(layer)에서 점진적으로 의미있는 표현을 배우는데 강점이 있으며,
데이터로부터 표현을 학습하는 새로운 방식입니다. 딥러닝의 딥(deep)이란 단어가 어떤 깊은 통찰을 얻을 수 있다는 것을 의미하지는 않습니다. 그냥 연속된 층으로 표현을 학습한다는 개념을 나타냅니다. 데이터로부터 모델을 만드는데 얼마나 많은 층을 사용했는지가 그 모델의 깊이가 됩니다. 이 분야에 대한 적절한 다른 이름은 층 기반 표현학습, 또는 계층적 표현 학습입니다.
캬 ~ 너무 쉽게 풀어서 책을 써줘서 감사합니다.
케라스를 창시하시고 이 책을 써주신
프랑소와 숄레님께 감사드립니다. ^^
그리고 읽어주신 여러분 감사합니다.