# 딥러닝이란 무엇인가?
1.1 인공지능과 머신러닝, 딥러닝
1.1.1 인공지능
인공지능 - 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동
이처럼 AI는 머신러닝과 딥러닝을 포괄하는 종합적인 분야이다.
초기 사람들은 심볼릭 AI(명시적인 규칙을 충분히 많이 만드는 것) 방식의 접근 방법을 사용하였다. 하지만 불분명한 문제를 해결하기 위한 명확한 규칙을 찾는것은 어려웠다. 그래서 이러한 것들을 대체하기위해 나온 것이 머신러닝이다.
1.1.2 머신러닝
머신 러닝 시스템은 명시적으로 프로그램되는 것이 아니라 훈련된다. 작업과 관련 있는 많은 샘플을 제공하면 이 데이터에서 통계적 구조를 찾아 그 작업을 자동화 하기 위한 규칙을 만든다.
1.1.3 데이터에서 표현을 학습하기
머신 러닝은 샘플과 기댓값이 주어졌을 때 데이터 처리작업을 위한 샐행 규칙을 찾는 것이다. 머신러닝을 하기 위해서는 세 가지가 필요하다.
-
입력 데이터 포인트
-
기대출력
-
알고리즘의 성능을 측정하는 방법
머신러닝 모델은 입력 데이터를 의미 있는 출력으로 변환한다. 이것이 알고 있는 입력과 출력의 샘플로부터 학습하는 과정이다. 그렇기 때문에 머신러닝과 딥러닝의 핵심문제는 의미있는 데이터로의 변환이다.
즉 입력 데이터를 기반으로 기대 출력에 가깝게 만드는 유용한 표현을 학습하는 것이다.
머신러닝에서의 학습이란 더 나은 표현을 찾는 자동화된 과정이다. 머신러닝은 가설 공간이라 부르는 미리 정의된 연산의 모음들을 자세히 조사하는 것뿐이다.
1.1.4 딥러닝에서 '딥'이란 무엇일까?
딥러닝은 머신 러닝의 특정한 분야로서 연속된 층(layer)에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있으며, 데이터로부터 표현을 학습하는 새로운 방식이다.
여기서 '딥'은 연속된 층으로 표현을 학습한다는 개념이다. 데이터로부터 모델을 만드는 데 얼마나 많은 층을 사용했는지가 그 모델의 깊이가 된다.
이 분야를 층 기반 표현학습 또는 계측적 표현 학습이라고 한다.
딥러닝에서는 기본 층을 겹겹이 쌓아 올려 구성한 신경망(neural network)이라는 모델을 사용하여 표현 층을 학습한다.
(숫자 분류를 위한 심층 신경망)
이 처럼 최중 출력에 가까워질수록 더 많은 정보를 가지지만 원본 이미지와는 점점 더 다른 표현으로 숫자 이미지가 변환 된다. 심층 신경망을 정보가 연속된 필터를 통과하면서 순도 높게 정제되는 다단계 정보 추출 작업으로 생각할 수 있다.
이처럼 기술적으로는 데이터 표현을 학습하기 위한 다단계 처리 방식을 말한다.
1.1.5 그림 3개로 딥러닝의 작동 원리 이해하기
머신러닝은 많은 입력과 타깃의 샘플을 관찰하면서 입력을 타깃에 매핑하는 것
심층 신경망은 이런 입력-타깃 매핑을 간단한 데이터 변환기를 많이 연결하여 수행하는 것으로 이런 데이터 변환은 샘플에 노출됨으로써 학습이 이루어 진다.
층에서 입력 데이터가 처리되는 상세 내용은 일련의 숫자로 이루어진 층의 가중치에 저장되어 있다.
기술적으로 말하면 어떤 층에서 일어나는 변환은 그 층의 가중치를 파라미터로 가지는 함수로 표현 된다.
즉 학습은 주어진 입력을 정확한 타깃에 매핑하기 위해 신경망의 모든 층에 있는 가중치 값을 찾는 것을 의미한다.
이 가중치 값을 찾기 위해서는 가장 먼저 출력이 기대하는 것보다 얼마나 벗어났는지를 측정해야 한다.
이는 신경망의 손실함수 또는 목적함수가 담당한다.
신경망이 한 샘플에 대해 얼마나 잘 예측했는지 측정하기 위해 손실 함수가 신경망의 예측과 진짜 타깃의 차이를 점수로 계산한다.
기본적인 딥러닝 방식은 이 점수를 피드백 신호로 사용하여 현재 샘플의 손실 점수가 감소되는 방향으로 가중치 값을 조금씩 수정하는 것이다.
이런 수정 과정은 딥러닝의 핵심 알고리즘인 역전파 알고리즘을 구현한 옵티마이저가 담당한다.
초기에는 네트워크의 가중치가 랜덤한 값으로 할당되므로 랜덤한 변환을 연속적으로 수행한다.
처음에는 손실점수가 높지만 네트워크가 모든 샘플을 처리하면서 가중치가 조금씩 올바른 방향으로 조정되고 손실점수가 감소한다.
이른 훈련 반복이라고 하며, 충분한 횟수만큼 반복하면 손실 함수를 최소화하는 가중치 값을 산출한다.
이 매커니즘을 반복한다.
본 내용은 케라스 창시자에게 배우는 딥러닝 책을 참고한 내용입니다
'Data scientist > Deep Learning' 카테고리의 다른 글
[Deep Learning] 딥러닝의 기초 - 2.1 딥러닝의 기초 (0) | 2021.01.31 |
---|---|
[Deep Learning] 딥러닝의 기초 - 1. 3 왜 딥러닝일까? (0) | 2021.01.21 |
[Deep Learning] 딥러닝의 기초 - 1.2 딥러닝 이전: 머신러닝의 간략한 역사 (0) | 2021.01.21 |