23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
고등학생도 이해하는 Transformer (Deep Learning) #1
고등학생도 이해하는 Transformer (Deep Learning) #2
고등학생도 이해하는 Transformer (Deep Learning) #3
고등학생도 이해하는 Transformer (Deep Learning) #4
고등학생도 이해하는 Transformer (Deep Learning) #5
이전 5편에서는 Linear Layer를 이용한 손글씨 분류기를 만들어 보았습니다.
사실 아직 Deep Learning이 아니라 Machine Learning으로만 이야기 하고 있습니다.
그럼 AI(Artificial Intelligence), ML(Machine Learning)과 DL(Deep Learning)이 무슨 차이일 까요?
아래 그림과 같이 AI 부류 안에 ML(기계학습)과 DL(심층학습)이 속해 있어요
이전 강의의 손글씨 분류기는 왜 ML이지 DL이 아닐까요?
ML은 어떤 Model에 데이터를 입력해서 결과가 나오는 구조이고, DL은 이 모델이 Deep 하게 심층 구조로 되어 있는게 특징입니다.
Deep 이 뭔지 다시 이야기 해보겠습니다. Deep Learning은 그림과 같이 모델안에 Layer가 여러개 있어서 Deep 한 구조인데요,
5편에서는 Linear Layer를 사용한 모델이 Deep Learning이 아니라고 했습니다.
5편의 손글씨 분류기는 Linear Layer 1개만 사용했는데요, Deep게 한번 Linear Layer를 여러개 추가 하면 DL이 될까요?
Linear Layer를 a(x)=Ax+B 라고 정의하고, a(x), b(x), c(x) 의 Layer를 3개 추가 한다고 하면, y = a(b(c(x))) 로 구성 할 수 있습니다.
a(b(c(x))) 를 풀어서 합성해보면 a(b(c(x))) = d(x) 로 풀어볼 수 있습니다.
y = a(b(x))를 전개 하면
y = Ex + F 가 됩니다.
(위 예제에서는 E가 8, F는 5)
이를 설명하면 선형함수들의 합성은 선형함수가 됩니다. 이 뜻은 아무리 Linear Layer를 여러 층으로 쌓아보아도 하나의 Linear Layer로 합성되기 때문입니다. 이를 이용한것이 LLM Fine Tuning방법중에 하나인 LoRA(Low-Rank Adaptation) 입니다. (이야기가 또 다른데로 샐뻔 했네요. LoRA는 나중에 다시 설명드릴께요)
따라서 Linear Layer를 여러 개층으로 쌓아도 결국 하나의 Layer 통과한 것과 동일합니다. 이러한 문제를 막고, 여러 레이어를 통과할 수 있도록 하는 방법이 각 레이어 사이에 Non-Linear 함수를 추가해서 함성함수가 안되도록 하는 방법입니다.
대표적인 Non-Linear 함수는 ReLU(Rectified Linear Unit) 함수 입니다. 아래 수식 및 그림과 같이 생겼습니다. 각 Linear Layer 사이에 이 Non-Linear 함수를 추가하여 Deep 하게 계층을 쌓으면, 수식을 전개 하거나 함성 함수로 간략화 할 수가 없게 됩니다. 이러한 Layer 사이에 추가 되는 Non-Linear Layer를 Activation Function 이라고 부릅니다.
ReLU 함수를 r(x) 라고 하면 a(r(b(r(c))) = y 로 모델을 구성하면 수식을 전개해서 함성 함수를 생성 할 수 없이 구성 할 수 있게 됩니다. 이러한 구조를 생물학적 신경 구조를 본따서 만들어서 신경망(Neural Network)으로 불리기도 합니다. 'Dendrite(덴드라이트)'는 '나뭇가지 모양으로 부터 여러 입력을 받아 세포체(Nucleus)에서 입력을 더해서 시냅스를 통해 전달 됩니다. 이러한 Neuron이 모여서 뇌신경망을 구성하게 되는데요 여러 입력 을 받아 출력값을 다음으로 전달하여 사고 및 판단하는 구조에서 본따서 인공 신경망도 여러 입력을 받아, 곱하고 더해서 출력하게 되는 구조로 설계 되었습니다. 여러 입력을 받아서 연산을 수행하고 다시 다음 레이어로 전달하는 구조가 아주 유사합니다.
출처 : https://byjus.com/biology/neurons
이러한 Linear Layer와 Non-Linear Layer를 중첩하여 Deep 한 네트워크를 구성 하여 뇌의 사고와 같은 복잡한 사고를 구성 할 수 있게 되었습니다.
Deep Learning은 Linear Layer와 Non-Linear Layer를 중첩하여 Deep 한 구조로 되어 있다.
이러한 Deep 한 구조는 뇌신경망을 참고하였다.
Linear Layer로만 Deep 하게(여러 레이어로) 구성하면, 하나의 Linear Layer로 합성 될 수 있으며, 이를 방지하는 것이 Activation Function이다.
Activation Function(Non-Linear Layer)로 복수의 Linear Layer들이 하나의 Layer로 합성되는 것을 방지하여 Deep 한, 깊은 구조의 Model 을 구성할 수 있다.
참고 : https://ml4a.github.io/ml4a/ko/neural_networks/
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.