IT 프로그래밍/AI 32

[Transformer]1

벡터가 선형변환이 되고 있는 것 weight를 곱하는 것은 곧 선형변환입니다. 벡터를 가만두지 않고 이동시키는 것 선형적인 변환을 통해 이동하는 것이 선형변환이고 어디다가 놓을지를 학습시키는 것입니다. n번째 시점에서 어떤 단어를 볼지 보고서 weighted sum 그 vector를 context vector로 삼고 y햇을 뽑아서 softmax를 하는 것이 바로 seq-to-seq입니다. 기존에는 C1=C2=C3=C4같이 H3로 쓴 것입니다. 하지만 불균형적으로 담겨있습니다. 어떤 단어를 많이 담는지는 모릅니다. 그건 ai가 하는 것입니다. RNN -> RNN + attention -> Transformer RNN+ attention의 문제점멀수록 잊혀집니다. 그리고 갈수록 흐려지는 정보에 at..

워드임베딩 , 트랜스포머

Word Embedding워드 임베딩은 단어를 벡터로 다루는 것입니다. 컴퓨터는 모든 거를 숫자로 다루어야 합니다. 픽셀 값 전부 RGB를 읽어서 처리해왔습니다. 각 클래스 또한 벡터로 나타냅니다. 벡터에서 하나만 핫 상태가 되는 원핫인코딩을 사용합니다. 원핫인코딩CAT [1,0] DOG[0,1] 전체를 0 , 1 숫자로 표현해서 나누기 단어들을 벡터 상에 표현을 해야 합니다. 예를들면 apple이나 banana를 벡터로 표현하려고 한다면 원핫인코딩을 할 수 있겠지만 사전에 있는 모든 단어를 원핫인코딩을 한다면 10만개의 단어가 있다는 가정하에 10만차원을 할당해야 하는 문제가 발생합니다. 또한 원핫인코딩은 단어들간의 관계를무시해버립니다. 과일이나 탈 것 이런 범주 안에서는 같은 범주는 비슷한 곳에 있..

[VLM]

지속적인 딥러닝으로 인해 이미티 Caption은 어느정도 해결이 되었습니다. 이미지를 넣고 질문을 하면 답을 해주는 것 그리고 추론하는 문제를 내줄 수 있습니다. 이제 VLM 모델들은 무쉽게 접할 수 있습니다. Llama4, Phi vision-multimodal도 있습니다. 가장 이해하기 쉬운 것은 DeppSeek-VL입니다. 도면이 무엇인지 수식까지 이해하는 걸 볼 수 있습니다. 이미지가 Input으로 들어온다면 vision encoder로 맞춰서 token으로 자르고 2048 dimension을 가진 576개의 token이 나옵니다. 이것이 LLM의 Input으로 들어가면 이미지 정보가 토큰으로 들어가고 llm을 통해 다음 텍스트 토큰을 예측합니다. 1. adapter만 트레이닝을 시킴2. J..

다중분류 이진분류 요약

출력 차원을 늘려야 하는 이유이진 분류에서는 예를 들어 강아지 = 1, 고양이 = 0처럼 단일 출력 노드로도 충분합니다. 그러나 이렇게 단일 출력으로 분류하게 되면, 중간값(예: 0.5)처럼 애매한 결과가 나와 오류가 발생할 수 있습니다. 이를 방지하고 더 복잡한 다중 분류 문제를 해결하기 위해 출력 차원을 늘리는 방식, 즉 출력 노드를 클래스 수만큼 구성하는 방식을 사용합니다. 예를 들어, 분류 대상이 3종류라면 다음과 같이 표현합니다:강아지 → [1,0,0]고양이 → [0,1,0]토끼 → [0,0,1]이렇게 하면 각 클래스에 해당하는 확률 분포를 명확히 표현할 수 있습니다. Softmax: 다중 분류에서의 확률 출력다중 분류에서는 출력이 확률 분포의 형태를 띄어야 하므로 다음 조건을 만족해야 합니다:..

인공신경망은 MLE 기계

인공신경망(Artificial Neural Network, ANN)은 결국 하나의 함수로 볼 수 있습니다. 이 함수 fff는 다양한 weight와 bias, 즉 파라미터들로 구성된 함수이며, 입력 x가 주어졌을 때 출력은 f(x)가 됩니다. 즉, 신경망은 파라미터화된(parameterized) 함수로서, 주어진 입력에 대해 적절한 출력을 내는 함수 f_w(x)를 학습합니다. 예를 들어 수학에서 x→f→x2처럼, 어떤 입력 x가 함수 f를 통해 f(x)로 변환되는 것처럼, 신경망도 입력 x를 받아 출력합니다. 이때 출력된 fw​(x)는 정답 레이블 y에 대한 확률 분포, 즉 조건부 확률 분포 p(y∣fw(x))을 따르게 됩니다. 이 확률 분포를 어떻게 모델링하느냐에 따라 신경망의 출력 해석이 달라집니다. ..

[Loss function] MSE vs log-likelihood

확률 곱셈의 수치적 불안정성과 로그 변환의 필요성if 강아지사진 q를 최대화해야else if 고양이사진 q를 최소화해야확률 q를 최소화하는 것은, 수학적으로 1 - q를 최대화하는 것과 같습니다.이 개념은 베르누이 분포의 확률 표현인q^p * (1 - q)^(1 - p)을 최대화하는 것과도 같습니다. 이 수식은 p가 1일 때는 q, p가 0일 때는 1 - q를 취하는 구조로, 주어진 정답에 따라 올바른 확률을 선택하여 곱하는 방식입니다. 이는 독립시행에서 전체 확률을 계산하기 위해 각 시행의 확률을 곱하는 방식과 같습니다. 예를 들어, 어떤 모델이 하나의 데이터에서 정답을 0.9 확률로 맞춘다고 하면, 이를 100번 반복하면 전체 확률은 0.9^100 ≈ 0.000026이 됩니다. 이처럼 0과 1 사이의..

[딥러닝] 기본적 개념 정리

Training : 파라미터 학습을 위한 데이터 Test : 최종적으로 학습된 모델 테스트용 데이터Validation : 하이퍼파라미터 선택을 위한 데이터 Test 데이터는 학습 때 사용하면안됨, 처으보는 data에 대해서 어떻게 잘하는 지 봐야 하기 떄문 Epoch을 축으로 x 봤을 때 loss는 계속 내려갈 것입니다. 내려가는 것이 무조건 좋은 상황은 아닌 것이 머신이 반복학습을 많이 하면 외워서 풀면서 원리를 잊어버리게 될 수 있기 때문입니다.  그래서 테스트에 대한 에러를 생각해본다면 내려가다가 다시 올라갈 수도 있다는 것입니다. 그래서 존재하는 것이 모의적으로 테스트를 해보기 위한 것이 Validation 데이터입니다. validation 데이터 가장 잘할 때 학습을 멈추면 얼추 맞습니다.   ..

[Pytorch] BMM, Layer, Activation Function

Batch Matrix Multiplication(BMM)같은 개수의 행렬 쌍들에 대해 병렬로 행렬 곱 실행(N,n,h)X(N,h,m) = (N,n,m) Linear LayerLinear Layer란?Input과 Output을 weight로 연결하는 Layer로 각 원소들을 모두 연결하는 형태이기 때문에 Fully Connected Layer라고도 부름  Activation FunctionLinear Layer의 결과를 다음 layer에 전달할 때 사용하는 함수로, 비선형 함수를 사용 sigmoid, tanh, ReLU 등이 있음 Softmax 함수activation function으로도 쓸 수 있고 자주 사용하는 함수 중 하나입니다. 결과 classification을 할 때 output을 뽑을 때 확률..

파이토치의 구성요소

파이토치의 구성요소-torch : 메인 네임스페이스-torch.autograd : 자동 미분 기능 제공 라이브러리-torch.nn : 신경망 구축 데이터 구조 및 레이어-torch.multiprocessing : 병렬처리 기능 제공-torch.optim : SGD 중심 파라미터 최적화 알고리즘 제공-torch.utils : 유틸리티 기능 제공-torch.onnx : 서로 다른 프레임워크 간 모델 공유 Tensors데이터 표현을 위한 기본 구조로 텐서 사용텐서는 데이터를 담기 위한 컨테이너로서 일반적으로 수치형 데이터 저장넘파이의 ndarry 생각하면 됨GPU 사용 연산 가속 가능00 Tensor (Scalar) 1D Tensor(Vector) : Rank:1 Shape(3,) 2D Tensor(Matri..

딥러닝 연구의 초점

직관을 바탕으로 아이디어를 전개해야 한다. 사전 정보를 적절히 심어주는 것이 중요하다.  이를 통해 정보의 흐름을 원활하게 만들고 학습을 효율적으로 유도할 수 있다. 정보를 어떻게 엮을 것인가?CNN (Convolutional Neural Network): 위치가 가까운 픽셀들을 우선적으로 고려하고, 멀리 있는 정보는 정제하여 조합하는 방식으로 패턴을 학습한다.트랜스포머 (Transformer): 단어들 간의 관계 정보를 파악하여 번역과 같은 자연어 처리 작업을 수행한다. Skip Connection이란?불필요한 연산 과정을 생략하고, 중요한 정보만 바로 전달하는 구조를 의미한다. 수식적으로 표현하면, 입력값을 , 함수 를 적용한 결과를 라 할 때, 기존 네트워크에서는 형태로 연산이 이루어진다. 하지만..