Do it! 정직하게 코딩하며 배우는 딥러닝 입문
책 내용을 정리한 글입니다. 수정해야 할 내용이 있거나 잘못된 내용이 있다면 알려주세요. 감사합니다.
01-1 인공지능을 소개합니다.
인공지능의 종류
- 인공지능은
강 인공지능(Strong AI)
과약 인공지능(Weak AI)
으로 나뉨 - 사람과 같은 인공지능을 강 인공지능이라 함(영화 아이언맨)
- 특정 영역에서 작업을 수행하는 인공지능을 약 인공지능이라 함(자율주행 자동차, 음성인식, 영상인식 등)
- 현재 연구되고 있는 인공지능은 대부분 약 인공지능
머신러닝과 딥러닝 그리고 인공지능과의 관계
- 머신러닝은 약 인공지능에 포함
- 딥러닝은 머신러닝에 포함
01-2 머신러닝을 소개합니다.
머신러닝은 스스로 규칙을 수정
- 컴퓨터가 데이터들로부터 규칙을 스스로 찾아내는 것을 머신러닝/딥러닝에서 ‘학습’이라 함
- 전통적인 프로그램은 사람이 정한 규칙에 의해 동작
- 머신러닝은 규칙을 스스로 찾아 수정
- 규칙을 찾아 수정하는 과정을 훈련 또는 학습이라고 부름
머신러닝의 학습 방식
지도 학습(Supervised Learning)
비지도 학습(Unsupervised Learning)
강화 학습(Reinforcement Learning)
지도 학습은 입력과 타깃(라벨 or 레이블)으로 모델 학습
- 훈련 데이터(Training Data): 모델 학습에 사용된 데이터(입력데이터, 타깃데이터)
- 훈련 데이터를 통해 모델 생성
- 모델은 새로운 입력 데이터에 대한 예측
- 지도 학습에서 가장 어려운 것은 훈련 데이터를 수집(생성)하는 것
비지도 학습은 타깃이 없는 데이터를 사용
- 입력 데이터만 있고 타깃 데이터로 학습하는 방법
- 군집화(Clustering)가 대표적인 비지도 학습
- 예: 기업이 소비 성향에 따라 그룹을 지정하는 경우
강화 학습은 주어진 환경으로부터 피드백을 받아 훈련
- 머신러닝 알고리즘으로 에이전트(Agent)를 학습
- 학습된 에이전트는 환경에 최적화된 행동을 수행하고, 수행에 대한 ‘보상’과 ‘현재 상태’를 받음
- 에이전트는 최대한 보상을 많이 받는 것이 목표
- 강화학습의 대표적인 알고리즘: Q-learning, DQN(Deep Q Network), SARSA
규칙 = 가중치(Weight)와 바이어스(Bias)를 의미
- 대부분의 머신러닝 알고리즘은 훈련 데이터와의 규칙을 관계식으로 표현
- 예: y = w * x + b
- y: 타깃, x: 입력 데이터, w: 가중치, b: 절편
모델은 머신러닝의 수학적 표현
- 모델이란 학습 데이터로 학습된 머신러닝 알고리즘
- 가중치와 바이어스를 모델 파라미터(Model Parameter)라 부름
손실 함수로 모델의 규칙을 수정
- 손실 함수(Loss Function) 모델의 규칙을 수정하는 기준이 되는 함수
- 비용 함수(Cost Function)라고도 함
- 모델이 예측한 값과 타깃 값의 차이를 계산하여 규칙 수정
최적화 알고리즘으로 손실 함수의 최소값을 찾음
- 손실 함수는 단순히 예측 값과 타깃 값의 차이를 계산
- 손실 함수의 최소값을 효율적으로 찾는 방법을 최적화 알고리즘이라 함
01-3 딥러닝을 소개합니다.
- 딥러닝(Deep Learning)은 머신러닝 알고리즘 중 하나인 인공신경망(Neural Network)으로 만든 것
- 인공신경망을 여러 겹 쌓아놓은 것을 딥러닝이라 함
- 인공신경망은 뉴런에서 영감을 받아 만든 것이지만 딥러닝이 동작하는 방식은 실제 뇌와 다름
딥러닝은 머신러닝이 처리하기 어려운 데이터를 더 잘 처리
- 딥러닝이 잘 처리하는 데이터: 이미지/영상, 음성/소리, 텍스트/번역(비정형 데이터)
- 머신러닝에 잘 맞는 데이터: 데이터베이스, CSV/엑셀 등에 저장된 데이터(정형 데이터)
[Reference]
[1] Do it! 딥러닝 입문(박해선), p.15~26