참고 도서 : Do it! 딥러닝 교과서
딥러닝 개요
용어 정의
- 인공지능 : 문제를 인식하고 해결하는 능력인 지능을 구현하는 기술.(지능은 생물체가 가지는 고유 능력)
- 머신러닝 : 기계 스스로 학습하여 지능을 습득하는기술
-> 강화 학습 : 순차적인 의사 결정 문제. 현재의 의사 결정이 미래에 영향을 미칠 때 목표를 달성하기 위한 순차적인 의사 결정 방법. 비디오 게임, 보드게임, 모방 학습, 추천 시스템 등에도 사용.
- 딥러닝 : 생체 신경망을 모방해서 만든 인공 신경망을 이용해 복잡한 데이터 관계를 찾아내는 머신러닝 기법
딥러닝의 특징
- 전통적인 머신러닝 기법들은 특정 문제에 맞게 알고리즘이 특화되었지만 딥러닝 모델은 다양한 문제에 보편적으로 사용 가능함.
- 머신러닝 기법은 지도 학습, 비지도 학습, 강화 학습으로 분류되지만 딥러닝은 특정 분야에 종속되지 않고 모든 분야에 범용적으로 적용 가능함.
딥러닝의 장점
- 함수 근사 능력이 뛰어남 - 아주 복잡한 데이터 분류 등에 뛰어난 성능.
- 특징을 자동으로 추출 - 머신러닝은 데이터에서 직접 특징을 추출해야 했음.
- 모델 확장성이 뛰어남
- 기존 머신러닝보다 성능이 좋음.
딥러닝의 한계
- 파라미터가 많아 상대적으로 많은 학습 데이터 필요
- 훈련 시간과 비용이 많이 듦 -> 전이 학습, 메타 학습, 평생 학습, 액티브 학습
- 설정 파라미터가 많아 최적의 모델과 훈련 방법을 찾으려면 상당히 많은 검색 시간과 튜닝 시간 필요 -> 구글 AutoML
- 인공 신경망 모델은 오류 파악 및 디버깅이 어려움 -> 설명 가능한 인공지능
- 지도 학습에서 타깃 데이터 생성 비용.
순방향 신경망(다층 퍼셉트론)
- 데이터가 한 방향으로 전달되는 순방향 연결만을 갖는 구조.
- 뉴런들이 모여 계층을 이루고 계층이 쌓여 전체 신경망을 이루는 구조.
순방향 신경망의 계층 구조
- 입력 계층 - 외부에서 데이터를 전달 받음.
- 은닉 계층 - 데이터의 특징을 추출
- 출력 계층 - 추출된 특징을 기반으로 추론한 결과를 외부에 출력.
완전 연결 계층 :
- 계층에 속한 각 뉴런이 이전 계층의 모든 뉴런과 모두 연결된 구조.
- 각 뉴런은 이전 계층에서 출력한 데이터를 동일하게 전달받아 같은 입력 데이터에서 뉴런마다 서로 다른 특징을 추출.
뉴런 구조
- 특징 추출을 위해 가중 합산과 활성 함수를 순차적으로 실행.
- 가중 합산과 활성 함수를 순차 실행하는 합성 함수.
가중 합산
- 추출할 특징에 중요한 영향을 미치는 데이터를 선택하는 과정
- 입력 데이터가 들어오면 가중치와 곱해서 가중 합산을 진행.
- 편향(bias)를 더하는 이유 - 공간상 임의의 위치에 표현
활성 함수
- 원하는 형태로 특징을 추출하기위해 데이터를 비선형적으로 변환하는 과정.
설계 항목
1. 입력 - 입력 형태
2. 출력 - 출력 형태, 활성 함수
3. 은닉 계층 - 활성 함수
4. 네트워크 크기 - 네트워크 깊이(계층 수), 네트워크 폭(계층별 뉴런 수)
분류 모델
이진 분류 모델
- 베르누이 분포 - 두 종류의 사건이 발생할 확률
- 시그모이드 함수(sigmoid) - 로지스틱 함수. 값의 범위가 0~1 사이
다중 분류 모델
- 카테고리 분포 - 여러 종류의 사건이 발생할 확률. 베르누이 분포를 일반화한 분포
- 소프트맥스 함수(softmax) - 실수 벡터를 확률 벡터로 변환. 실수 벡터의 각 요소는 [0,1] 범위로 변환되고, 각 요소의 합은 1. 시그모이드를 여러 클래스에 대해 일반화한 함수.