*programming vs. learning: 프로그래밍은 ELIZA 처럼 A를 받았을 때 B를 반환할 것을 미리 인간이 코드로 짜줘야 한다. 코드의 논리에 따라서만 작동하는 것이다. 그러나 러닝은 training을 인간이 시켜주어서, 학습할 때 인간이 넣지 않은 input에 대해서도 output을 산출해주는 것이다.
1. Artificial Intelligence: 인간의 지능인 추론과 학습을 기계가 할 수 있도록 하는 컴퓨터과학의 한 분야
2. MachineLearning: ai를 실현시키기 위한 하나의 방식.
hand-coding software를 쓰는 것이 아니라, 기계가 여러 입력 데이터를 바탕으로 결과를 산출하는 것이다.
Ex) 연봉예측을 하기 위해서 나이와 경력과 같은 여러 데이터 변수들을 넣으면 변수들의 weight값을 학습한다->입력데이터를 넣으면 연봉을 예측해준다.
1)지도학습(supervised learning)
training data에서 label값(output, 정답에 해당하는 것)이 주어진 경우. train data+label을 이용해 train하고,
remaining data에 대해 output을 산출한다.
-label 데이터가 연속형 변수-> regression, 회귀분석
-label 데이터가 범주형 변수-> classification, 분류
2)비지도학습(unsupervised learning)
training data에서 label값이 없는 경우.
비슷한 데이터끼리 clustering(군집화)해서 분류한다.
3)강화학습(reinforcement learning)
sample데이터가 충분하지 않더라도 interacting with the environment-> 학습한다.
각 state마다 action을 수행하면 -> 얼마나 action이 잘 수행된건지 평가하고 reward 준다 ->reward를 최대화하는 방향으로 학습된다.
=> 결과적으로는 state 마다 action을 정하는 policy를 최적화한다.
Ex)자율주행자동차, 걷는 로봇 만들기
*deep reinforcement learning:최신분야이다.
정리
지도학습: label이 있으므로 예측한 결과에 대한 feedback이 확실하다.
비지도학습: 데이터 간의 공통된 특징을 찾으므로 숨겨진 특징을 찾고 이를 바탕으로 군집화한다.
강화학습: 매 state마다 어떤 상황을 취할지 결정하는 decision making system이다.
3. DeepLearning: 머신러닝을 구현하기 위한 하나의 기술 ->깊은 신경망을 바탕으로 거대한 양의 데이터를 분석해 학습시킨다.
데이터의 수가 십만개 이상이 되어야 좋은 모델을 만들 수 있다.
딥러닝은 머신러닝의 한 분야이다. 그런데 딥러닝이 매우 발전해와 머신러닝과 대등한 위치인 것처럼 보이게 되었다.
딥러닝은 변수 추출과 분류를 한꺼번에 연산하므로 레이어에 들어가는 변수의 수가 많다. 그렇지만 은닉층(hidden layer)이 많고 뉴런의 수가 많아서 신경망 레이어가 다층이고, 따라서 복잡한 input데이터를 모두 한꺼번에 연산해낼 수 있다.
(<-> 머신러닝은 사람이 직접 데이터전처리를 해서 필요한 변수를 추출해내야, 골라낸 변수를 바탕으로 분류를 할 수 있다. )
=>모델을 해석할 때 머신러닝 사용 시 변수추출은 사람이 하므로 설명이 가능한 부분이 있지만 딥러닝 사용 시 어떤 feature를 신경망이 사용했는지 모르기 때문에 모델이 예측한 결과를 설명하기 힘들다.(blackbox)
데이터 양이 적으면 머신러닝이 더 정확해 이를 사용하고, 데이터 양이 많으면 딥러닝이 더 정확하므로 딥러닝을 사용할 수 있다.
딥러닝 혁신을 이끌어낸 주요 요소들
-big data: 많은 양의 데이터가 있어야 예측할 수 있다. (심야버스노선을 정할 때 통화량 많은 곳에서 사람들의 집주소를 분석해 그곳으로 버스 가도록.)
-computing power: CPU, GPU(그래픽연산을 빠르게 많은 양 처리), TPU(tensorflow를 잘 활용할 수 있는 딥러닝용 하드웨어)
-algorithms: deep neural network, CNN(convolutional nn), RNN(recurrent nn), GAN(generative adversarial network), DRL(deep reinforcement learning), policy gradient DRL, bayesian deep learning
-고려대학교 오승상 교수 Deep Learning 강의 참조
'딥러닝' 카테고리의 다른 글
| [Easy! 딥러닝] Chapter 6. 배치 정규화와 레이어 정규화의 의미와 필요성 (0) | 2025.05.16 |
|---|---|
| [Easy! 딥러닝] Chapter6 앞부분까지 새롭게 배운 내용 (0) | 2025.05.15 |
| [DL Study] 4. Cost gradient descent (0) | 2025.04.29 |
| [DL Study] 3. DNN forward pass (0) | 2025.04.08 |
| [DL Study] 2. Perceptron, MLP (0) | 2025.04.05 |