전통적 비지도학습
K-means : 데이터를 몇 개의 클러스터로 나눠서 비슷한 특징을 가지는 군집을 형성하는 것
+ 이 외에도 계층적 군집화, Density Estimation, PCA
작은 차원의 데이터를 다룬다 / 단순하다 / 의미가 있나? (군집화 결과를 항상 검증해야함)
어쨌든 연구는 많이 진행되었지만 실전에서 적용되기엔 많은 검증이 필요하다
딥러닝에서의 비지도학습
힐튼 : Feature Engineering을 잘 하면 NN이 잘 작동할 수 있다.
실전에서 발생하던 일 : Input X에 대해 영향을 주는 수많은 요소가 있었지만 우리가 보는 건 X밖에 없음
Representation Learning
각도를 표현하는 방법 : 우리가 생각하는 각도의 개념과 알고리즘이 생각하는 각도는 다름
Ex) 우리 : 0이랑 2파이는 같지!!! / 알고리즘 : 이게 왜 같아,,,?
현실의 문제들을 “컴퓨터에게 어떻게 전달할까?” 가 핵심이 됨
즉, Representation은 정보를 어떻게 표현할 것인가? X라는 개념을 수학적인 Rule로 표현하는 것.
인간이 알고리즘을 도와줘야 좋은 성능이 나올 수 있다.
DNN에서 발생하는 과정을 요약하면
인간이 Input을 좀 Process를 해서 주면 -> DL이 해결해주길 “기대” 하는 중
지금까지 학습 프로세스들은 결국 인간이 짠 Rule을 따라간다.
어떤 Regularization을 사용하냐에 따라서 Activation의 Representation이 너무 크게 바뀜
Task
잘 정의된 Task : 목표가 뚜렷하게 주어짐
Information Bottleneck
Input에서 내가 필요한 정보만 뽑아올 수 있을 수 있다!
근데 비지도 학습은 그 자체로 굉장히 애매모호함.
View Point
1. Representation은 해석 가능해야 하고 설명할 수 있어야 한다.
: 힐튼의 논문 – 문장만을 주고 학습을 시켰더니 모델이 그 내부에서 스스로 규칙을 만들더라!
=>인간이 그러하듯 신경망이 학습이 잘 되면 그 내부의 규칙을 만들어내는 것도 가능할 것이다!
Visualization : CNN 내부의 Filter들을 보니까 모델의 Representation을 볼 수 있더라!
그래도 XAI에선 최소한 예측에 대한 근거는 제시할 수 있게 해줌(Grad CAM)
OPEN AI는 그래도 믿음을 가지고 학습을 진행함
2. Representation 솔직히 필요 없다.
: 왜 Intelligence가 항상 설명되어야 하느냐?
사람이 정보를 계속 정리해준 다음에 AI 성능을 보는 건 인간의 일을 보는 거다.
k-means 아님!! ㅋㅋ 가장 중요한 단어는 Representation Learning
Pretext Learning
잘 정리된 Representation, 유용한 정보를 만들기 위한 학습 Task
Self-Supervised Learning
비지도는 아닌데, 학습 과정에서 스크립트 하나만으로 Reference를 만들어 학습
Contrastive Learning
각 Sequence를 정리해서 RNN에 넣어주면 미래의 것을 예측할 수 있다!
이 수식이 Unsupervised Representation Learning을 하는 데에 가장 기본이 되는 식이 되고 있음 [CPC]
Multiview Coding
같은 컨셉이라면 어느 방향에서 찍은 사진이어도 결국 같은 정보를 담고 있다
[자동차 왼쪽이나 정면이나 같은 개념]
SimCLR
: 개념을 학습시키기 위한 방법. 즉, 강아지의 여러 일부 사진을 보여주고 얘네를 Representation한 것들을 비슷하게 나와야 한다고 학습을 시킴