The Ultimate Archive

완전히,

개발

AI (Artificial Inteligence, 인공지능)와 담론

완WAN完 2023. 8. 23. 17:18

AI에 문외한이었던 것은 어언 4년 도래한지는 몇년이나 됐을까,

업무상의 이유로 ai필드를 들여다볼일이 있어 살펴보니 너무나도 신기한 기술, 시사거리들이 있어 기록을 안할래야 안할 수가 없다.

 

Google Magenta

 

 

AI 장인 권용현의 인공지능 강의

Cross Entrophy Loss

 

Deep Learning 원리

손실 함수를 최소화 하는 거시 목표 Loss Function

예) 얼굴형태를 보고 코 길이를 유추하는 함수

root mean square = rms을 쓰거나 차이값을 써서 

 

학습 시에 한꺼번에 넣어주는 데이터들을 Batch (16개)

그렇게 얻은 값들이 있음 이것들을 에러(편차)를 최소화 시켜주는 것이 중요

이 과정에 필요한 것이 손실함수(loss function)

 

이것을 어떻게 최소화시킬래?

이것은 역전파 알고리즘(Back Propagation) -> 편미분을 통해 계산 가능한 세부 부분으로 나누어서 각각의 파라미터의 최적값을 찾아내는 과정

예) x input(사실 vertor or matrix의 형태 : Data)에 대해 순차적으로 f(x), g(x), h(x)를 거쳐서 최종적으로는 T(x)가 나오는 상황 

x->T(x) 이때, T(x)값과 실제값이 존재하는데 에러를 최소화하는 것을 만들고 싶은 상황!

 

Loss Function => L(X), rV = real Value

L(T(X), rV) = 에러값 -> 작을 수록, 결국 최소값을 구하는 것

 

relu

 

인공지능

선형회귀법이 있기 때문에 인공지능이 필요가 없다. 애초에 알고리즘이 있기 때문에,

그러나 비선형 연산이 필요한 상황이 있다. 

 

ANN(Artificial Neural Network) 기본적인 인공지능 모델

여기서 멈추지 않았다!!

 

CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory)

 

CNN(Convolutional Neural Network)

이미지 처리 분야에서 처음으로 태동

Convolutional Kernel 학습을 학습시키는 Neural Network

 

RNN(Recurrent Neural Network)

시계열, 시간종속적인 데이터 => 이전 결과가 현재 결과에 영향을 미치는 상황 Best Example = 날씨? 그렇지만 사실 상 현실 속 모든 상황에 해당

ANN을 쌓는데, 이전 Hidden Layer과 현재 x값이 거쳐야할 Hidden Layer을 직렬로 이어붙여 연산한다. (저번 데이터가 이번 데이터에 들어간다는 것이 중요)

연산을 거듭할 수록 이전에 도출됐던 결과 혹은 데이터가 현재에와서 미치는 영향이 줄어드는 것을 해소키위해 LSTM이 개발됨. 

LSTM은 이전 결과 값들을 유지할 수 있게끔, 구조적인 도약을 했다. 

RNN은 똑똑한 금붕어 -> 기억이 짧음

 

Encoder Decoder Model (LSTM base Seq2Seq)

Attention 개념 도입

Attention Seq2Seq 모델 탄생! 번역에 좋은 인공지능 모델! 성능이 유의미했음

 

Transformer

이것이 Self Attention으로 발전이 이어짐. 

Attention과 같은 경우는 Encoder와 Decoder사이 연관성을 매듭지어줬다면, 

Self Attention과 같은 경우는 Encoder와 Decoder 각각 내부에서 자신과 자기 자신의 연관성을 매듭지어 기계의 언어에 대한 이해도가 도래할 수 있었다.  

Self Attention을 여러번 거치는 것은 Multi-Head (병렬) -> Transformer Block : 큰 Layer

이것이 직렬로 이어진 것이 여기서의 Encoder와 Decoder가 된다. 

Bert = Encoder만 잘라놓은 것 -> 연구가 끝나감

Generator = Decoder만 잘라놓은 부분 -> 언어를 예측할 수 있으니 생성으로 이어진거지. 

 

Transformer의 단점은 양질의 학습이 필요한데 이때 들어가는 데이터양이 너무 방대하다는 점이 있다. 

 

 

 

 

'개발' 카테고리의 다른 글

개발 짜투리 정보  (0) 2023.08.25
Flutter & Dart 독학  (0) 2023.08.08
PS (Problem Solving)  (0) 2023.07.21
Git & GitHub 독학시도  (0) 2023.07.20