딥러닝이란?
여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야라고 이야기할 수 있다.
Deep Neural Networks 구성
- Input layer(입력층): 네트워크의 입력 부분입니다. 우리가 학습시키고 싶은 x 값입니다.
- Output layer(출력층): 네트워크의 출력 부분입니다. 우리가 예측한 값, 즉 y 값입니다.
- Hidden layers(은닉층): 입력층과 출력층을 제외한 중간층입니다.
Batch size, Epoch (배치 사이즈, 에폭)
출처: https://www.mauriciopoppe.com/notes/computer-science/artificial-intelligence/machine-learning/glossary/
활성화함수
- 수많은 뉴런들은 서로 서로 빠짐없이 연결되어 있습니다. 그런데 뉴런들은 전기 신호의 크기가 특정 임계치(Threshold)를 넘어야만 다음 뉴런으로 신호를 전달하도록 설계되어 있습니다. 연구자들은 뉴런의 신호전달 체계를 흉내내는 함수를 수학적으로 만들었는데, 전기 신호의 임계치를 넘어야 다음 뉴런이 활성화 한다고해서 활성화 함수라고 부릅니다.
- 활성화 함수는 비선형 함수여야 합니다. 위에서 딥러닝은 비선형 함수를 사용한다고 했었죠? 비선형 함수의 대표적인 예가 바로 시그모이드 함수입니다. 따라서 비선형 함수 자리에 시그모이드를 넣으면 이렇게 되겠네요.
Overfitting, Underfitting (과적합, 과소적합)
- 우리가 풀어야하는 문제의 난이도에 비해 모델의 복잡도(Complexity)가 클 경우 가장 많이 발생하는 현상이죠. 시험에 빗대어 얘기하면 모의고사의 정답 번호를 달달외워서 모의고사는 100점을 받는데, 실제로 수능시험을 보면 틀리는 문제가 더 많아지는 현상과 비슷합니다.
- 반대로 우리가 풀어야하는 문제의 난이도에 비해 모델의 복잡도가 낮을 경우 문제를 제대로 풀지 못하는 현상을 과소적합이라고 합니다.
딥러닝의 주요 스킬
Data augmentation (데이터 증강기법)
Dropout (드랍아웃)
Ensemble (앙상블)
Learning rate decay (Learning rate schedules)