⇪
PILLAR #1: DEEP LEARNING AND LLM
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TABLE OF CONTENTS
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TABLE OF CONTENTS
⇒ Chapter 1: Neural Network [신경망] ⇐
⇒ Chapter 2: Gradient Descent [경사 하강법] ⇐
⇒ Chapter 3: Backpropagation [역전파] ⇐
⇒ Chapter 4: Backpropagation Calculus [역전파 미분학] ⇐
⇒ Chapter 5: Large Language Models [대규모 언어 모델] ⇐
⇒ Chapter 6: Transformers [트랜스포머] ⇐
⇒ Chapter 7: Attention in Transformers [프랜스포머의 어텐션 메케니즘] ⇐
⇒ Chapter 8: How LLMs Store Facts [대규모 언어 모델의 지식 저장 방식] ⇐
⇒ Chapter 9: AI Images and Videos [인공지능 이미지 및 비디오 생성] ⇐
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CHAPTER 1: NEURAL NETWORK [신경망]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TABLE OF CONTENTS
SUMMARY
⇒ 컴퓨터에게 어떠한 숫자 이미지를 부여한다고 가정했을때 하나의 숫자가 항상 똑같은 모양으로 생기지 않았다 (예시: 내가 만든 숫자 7이 옆 사람이 만든 숫자 7과 모양이 다르다). 이러한 가정 아래 컴퓨터는 머신 러닝 방법과 신경망을 통해 어떻게 그 숫자가 정확히 0에서부터 9사이의 숫자의 모양인지 인식할 수 있는가? ⇐
TABLE OF CONTENTS
⇒ Computing Mission Explained [컴퓨팅 미션 설명] ⇐
⇒ NEURAL NETWORK STRUCTURE [신경망 구조] ⇐
⇒ PARAMETER - WEIGHTS [파라미터 - 가중치] ⇐
⇒ PARAMETER - BIASES [파라미터 - 편향] ⇐
⇒ Activation Functions [활성화 함수] ⇐
⇒ NEURON FUNCTION [뉴런 함수] ⇐
LECTURE NOTE: NEURAL NETWORK
COMPUTING MISSION
⇒ Identify Number 1 to 9 Using Pixel Brightness: 28 Pixel x 28 Pixel의 화면에서 어떠한 밝기의 조합을 숫자 0에서 9로 인식하도록 훈련하는 메커니즘. ⇐
⇒ Machine Learning With Neural Network: 뇌가 달성할 수 있는 복잡한 인식 메커니즘을 머신 러닝 이라는 방법으로 신경망을 사용하여 문제를 해결. ⇐
NEURAL NETWORK STRUCTURE
⇒ Multilayer Perception (MLP): MLP란 Plain Vanila Neural Network Structure, 즉 퍼셉트론으로 이루어진 층들을 순차적으로 붙혀놓은 가장 기본적인 형태. ⇐
⇒ Activation (0.00 to 1.00): 각 뉴런들은 0.00에서 1.00 사이에 어떠한 숫자로써 첫 레이어에서는 픽셀의 밝기, 그 이후 레이어에서는 패턴의 감지 강도 함수. ⇐
⇒ Input Layer: 첫번째 입력 레이어에서는 28 x 28, 즉 784개의 픽셀이 각 뉴런이 됐을 때 0.00에서 1.00 사이의 밝기 강도로서 행으로 표현. ⇐
⇒ Second Layer: 두번째 레이어에 존재하는 16개 뉴런들은 (임의로 결정) 작은 패턴 조각들을 의미하며 얼마나 강하게 감지되었는지 표현. ⇐
⇒ Third Layer: 세번째 레이어에 존재하는 16개 뉴런들은 (임의로 결정) 큰 패턴 조각들을 의미하며 그게 얼마나 강하게 감지되었는지 표현. ⇐
⇒ Output Layer: 마지막 출력 레이어에서는 0부터 9까지의 숫자를 의미하는 10개의 뉴런이 입력 이미지가 본인 숫자일 확률을 나타내는 값. ⇐
⇒ 레이어 별 뉴런 활성화 값 패턴이 정해지는 방식: 첫 이미지 픽셀 뉴런들의 밝기 활성화 값이 바뀌면 그 다음 패턴들의 인식 강도도 변화. ⇐
⇒ Neurons = Functions: 즉 제2층부터 출력층에 소속된 뉴런들의 활성화 값들은 입력층 뉴런 활성화 값에 따라 공식에 인해 변동되는 함수. ⇐
PARAMETER - WEIGHTS
⇒ Parameter [파라미터]: 모델이 훈련을 통해 학습 데이터로부터 직접 최적의 값을 찾아가도록 변형되는 내부 변수들로 가중치와 편향을 두개 다 포함. ⇐
⇒ Weights [가중치]: 이전 층의 모든 뉴런들이 다음 층의 뉴런 하나와 이어지는 선들, 즉 전 층의 각 뉴런들이 어떠한 조각의 감지 강도에 미치는 영향력. ⇐
⇒ Sample Weights: [W1 = 2.07, W2 = 0.12, W3 = - 1.07, W4 = 0, W5 = 0, W6 = 0.0, W7 = -4.02, W8 = 0.39, W9 = 1.83, W10 = -5.34, W11 = 0.83, W12 = 0.12] ⇐
⇒ Positive Weight: 다음 층 뉴런의 영역에 포함되어 있고 그 뉴런의 패턴 조각이 포함되어 있다면 그 중요도 만큼의 양수로 표현. ⇐
⇒ Negative Weight: 다음 층 뉴런의 영역에 포함되어 있고 그 뉴런의 패턴 조각이 존재하지 않다면 그 중요도 만큼의 음수로 표현. ⇐
⇒ Zero Weight: 전 층의 뉴런이 다음 층 뉴런의 패턴 조각 영역에 포함되어 있지 않다면 가중치를 0으로 표시해서 가중치를 없앰. ⇐
PARAMETER - BIASES
⇒ Biases [편향]: 패턴 조각의 뉴런 활성화 값이 마지막 층의 최종결과 예측 성공에 기여할 자격을 갖추었는지를 훈련을 통해 조절하는 임계값. ⇐
⇒ Biases Explained: ∑ Weight n * Activation n의 값이 다음 층 뉴런의 활성화 값이라고 할 때 그 값이 어떤 수치 이상이여야 의미 있는 패턴이다. ⇐
⇒ Case A - Excessive Impact, Decrease Bias: 정답과 상관없이 뉴런의 활성화 값이 예측에 과하게 개입해서 예측 실패 확률을 키운다면 편향을 낮추어 (예시: 편향을 -5에서 -8로 조절) 뉴런이 덜 쉽게 예측에 개입하도록 한다. 편향을 -5에서 -8로 더 낮추는건 활성화 값이 더 이상 5가 아니라 8 이상일때 의미 있는 패턴이라는 뜻. ⇐
⇒ Case B - Not Enough Impact, Increase Bias: 뉴런의 활성화 값이 더 영향력이 있어야 예측 실패 확률을 낮출 수 있는데 현재 거의 영향을 주지 않고 있다면 편향을 높여서 (예시: 편향을 -5에서 -2로 조절) 뉴런이 더 쉽게 예측에 개입하도록 한다. 편향을 -5에서 -2로 낮추는건 활성화 값이 2 이상일때 의미 있는 패턴이라는 뜻. ⇐
ACTIVATION FUNCTIONS
⇒ Sigmoid Activation Function: 다음 층 뉴런의 활성화 값을 계산하면 제약 없이 아무런 값이 될 수 있기에 (음수, 0, 양수) 이를 0.00에서 1.00 사이 값으로 변환. ⇐
⇒ Rectified Linear Unit (ReLU) Activation Function: 시그모이드와 유사하게 뉴런의 활성화 값을 변환할때 최종 예측 결과에 더 안정적인 변환 함수 [0.00, + ∞]. ⇐
NEURON FUNCTION
⇒ Following Layer Neuron Function Formula: Activation 0(1) = Weight 0,0 * Activation 0(0) + Weight 0,1 * Activation 1(0) + ... + Weight 0,n * Activation n(0) + Bias 0 ⇐
⇒ 활성화 함수 설명: 이전 뉴런들에서 현재 레이어 뉴런의 패턴이 얼마나 강하게 나타났나 = 0.00에서 1.00 사이로 만들어주는 함수 [ ∑ (이전 레이어 픽셀 뉴런의 밝기 수치 * 이전 레이어 픽셀 뉴런이 작은 패턴 조각에 감지되는 강도의 수치) + 현재 레이어 뉴런의 활성화가 최종결과의 결론에 기여할 자격에 대한 조절 기준선] ⇐
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CHAPTER 2: GRADIENT DESCENT [경사 하강법]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TABLE OF CONTENTS
TITLE
⇒ 알맞게 훈련된 파라미터, 즉 가중치와 편향이 존재할 때 어떤 구조의 신경망이 숫자 이미지를 정확히 구분하게 할 수 있는가에 대한 방식은 이전에 다루었다. 그렇다면 훈련 데이터를 어떤 방식으로 학습시켜야 가중치 파라미터와 편향 파라미터를 적절하게 설정해내어 숫자 예측 오류 확률을 최소한으로 낮출 수 있는가? ⇐
TITLE
⇒ ___________________ [___________________] ⇐
⇒ ___________________ [___________________] ⇐
⇒ ___________________ [___________________] ⇐
⇒ ___________________ [___________________] ⇐
⇒ ___________________ [___________________] ⇐
⇒ ___________________ [___________________] ⇐
LECTURE NOTE: GRADIENT DESCENT
TITLE
⇒ ________________________: ____________________________________________________ ⇐
⇒ ________________________: ____________________________________________________ ⇐
TITLE
⇒ ________________________: ____________________________________________________ ⇐
⇒ ________________________: ____________________________________________________ ⇐