[Artificial Intelligence]What is Deep Learning?
딥 러닝(Deep Learning)은 머신 러닝(Machine Learning)의 특정한 한 분야로서 인공 신경망(Artificial Neural Network)의 층(layer)을 연속적으로 깊게 쌓아올려 데이터를 학습하는 방식이다.
Toy Example :
'CAT' 이미지가 input으로 들어갔을 때 여러 layer를 지나서 'CAT' 이 output으로 나오게 하는 deep learning 예시
출처 https://github.com/ReiCHU31/Cat-Dog-Classification-Flask-App
What Do We Mean by "Learning"?
Pavlov's Dog Experiment
이 실험은 STDP(뉴런의 여러 기능 중 기억과 학습에 결정적 역할을 하는 뉴런간의 시냅스 연결 강도를 지배하는 기본 알고리즘)를 사용하여 먹이를 인식하는 뉴런이 활성화 될 때 침을 흘리는 뉴런과 연결된 시냅스가 활성화 되는데, 먹이를 줄 때 벨을 같이 울려 벨소리 인식 뉴런과 침분비 뉴런이 동시에 활성화가 되도록 만들어서 점점 그 두 뉴런을 연결하는 시냅스를 활성화 시키도록 한다. 결과적으로 벨소리를 들었을 때의 생물학적 신호가 그대로 침 분비 뉴런까지 전달되도록 만든다.
신경망을 학습한다는 것 = 시냅스의 강도(weight)를 조절하여 원하는 출력을 얻게 만든다는 것 (내부의 state를 바꿔서 우리가 원하는 출력을 가지게끔 한다.)
Deep Learning의 대부분은 Deep Neural Network(생물학적 신경망을 본따 만든 인공 신경망)으로 구성됩니다.
Learning Methond
Supervised Learning (지도 학습)
지도학습은 머신 러닝의 한 분야로, 훈련 데이터로부터 주어진 입력에 맞는 출력을 찾는 학습 방법이다.
- Example base로 input과 output을 mapping 하는 방식
- DNN(Deep Neural Network)를 학습시키는데 대부분 지도학습 방법을 사용한다.
- Feedback을 통해서 Groud Truth를 output으로 낼 수 있도록 학습한다.
Unsupervised Learing (비지도 학습)
Labeling 되어있지 않은 데이터를 통해 패턴이나 형태를 찾아 군집화(clustering)하는 머신 러닝의 일종이다.
- 데이터를 잘 표현하는 특징들을 추출해낸다.
Reinforcement Learning (강화 학습)
강화학습은 행동에 대한 보상을 받으면서 학습하여 어떤 환경 안에서 선택 가능한 행동들 중 보상을 최대화하는 행동 또는 행동 순서를 선택하는 방법이다.
- 어떤 환경에서 주체(agent)가 현재 상태(state)를 관찰하여 선택할 수 있는 행동(action) 중에서 가장 최대의 보상(reward)를 가져다주는 행동이 무엇인지를 학습하는 것이다.
Example ) 알파고
Implementation Methods
Rule-Based System
Traditional way of designing an algorithm manually (Input > Human - designed algorithm > Output)
- Data의 특징을 인간이 추출하여 그에 따른 알고리즘을 만들어 분류하는 방식이다.
- 인간이 만든 알고리즘에 어긋나는 상황(various & uncertain data)을 handling하기 어렵다는 문제점이 있다.
Classical Machine Learning
Extract features from a human-designed algorithm (Input > Human - designed algorithm > Learn from features > Output)
- 특징 분포를 기계가 학습하여 결과를 판단한다. (boundary를 판단하도록 한다.)
- 인간이 알고리즘을 만들어야 하기 때문에 optimal feature를 특정하기 어렵다.
Example of Features
- Computer vision ( Edges, Vertices, Object, Texture of image)
- Character recognition (# of white pixels, # of holes of number character)
- Speech recognition (Length of sounds, similarities in patterns)
- Natural language processing(Series of letters, tokens)
Deep Learning
Machine do everything from feature extractions to decision making (We don't need human-designed algorithm)
(Input > Simple features > More layers of features > Decision from features > Output)
- 시냅스는 supervised learning으로 학습하는데, Low-level에서는 “Low-level features” (edge나 면, 점 이런 단순한 특징들)을 추출하고 “High-level features”로 갈수록 추상적인 특징들이 추출된다.
- 이 방식은 생물학적으로 우리가 이미지를 인식하는 것과 비슷하다.
Why is Deep Learning Taking off?
- Rule-base는 데이터의 양과 상관없이 고정적인 output을 낸다.
- Classical machine learning은 인간이 특징을 추출한 상태에서 구분만 하는 학습을 하기 때문에 data의 양이 올라가더라도 prediction accuracy가 올라가지 않는다.
- Neural network는 많은 시냅스를 가지고 있고, 이 시냅스를 학습시키기 위해서는 많은 데이터가 필요하다. 그리고 data를 많이 학습 시킬수록 prediction accuracy가 증가한다. Large neural network는 small neural network보다 층의 개수가 많아서 더 높은 수준의 high-level feature을 도출해낼 수 있다.
참고
Ewha Woman Univ. Artificial Intelligence (2023-1. Prof.Jaehyeong Sim)
https://brunch.co.kr/@namujini/22
머신러닝의 꽃, 강화학습
Reinforcement Learning | 알파고의 핵심 기술이 무엇인지 아시나요? 알파고는 바둑의 기본 규칙과 3,000만 개의 기보를 학습한 후, 스스로 대국하며 훈련하는 강화학습 알고리즘을 사용하여 개발되었습
brunch.co.kr