ML&DL73 [ML / DL] Backpropagation of loss function 지도학습의 머신러닝은 회귀 문제 / 분류 문제 중 하나에 속한다. 회귀 문제라면 최종 레이어에서 계산한 예측값 ($\hat{y}_i$)과 실제값 ($y_i$)와의 mean squared error $( L = \dfrac{1}{2} \sum (y_i - \hat{y}_i)^2 )$을 최소화하는 방향으로 학습이 진행된다. 분류 문제라면 최종 레이어에서 계산한 logit을 softmax 함수에 한번 넣고 ($\hat{y}_i = softmax(z_i)$), 이 확률값과 실제 라벨의 cross entropy $( L = \sum^C_{i=1} y_i \log \hat{y_i} )$을 최소화하는 방향으로 학습이 진행된다. 어느 경우가 됐든, backpropagation을 할 때, 최초로 예측값에 대한 loss.. 2024. 7. 28. [ML / DL] Cross entropy loss function in classification problem 지난 포스팅에서 회귀 문제와 분류 문제에서의 loss function은 분포를 가정하고 세운 maximum likelihood function의 간단한 변형임을 살펴보았다.https://steady-programming.tistory.com/36 [ML / DL] Cost function과 Maximum likelihood estimation과의 관계서울대학교 딥러닝 기초 강의를 듣고 정리하였다. 딥러닝에서 파라미터를 근사하기 위해 필수적으로 세워야하는 cost function와 통계학에서 파라미터를 추정하기 위해 필수적으로 세우는 maximum listeady-programming.tistory.com간략하게 정리하면 회귀 문제에서의 mean squared error을 최소화하는 것은 error 항을 .. 2024. 7. 24. [DL][Implementation] Numpy을 사용하여 MLP 구현하기 backpropagation을 수식으로 공부하다가, pytorch로 쓱 하고 지나갈 개념이 아닌 것 같다는 생각이 들었다. 모든 딥러닝 문제에서는 gradient descent을 사용해서 optimal parameter을 찾고 그 과정에서 backpropagation은 반드시 들어가기 때문이다. 물론, pytorch에서 똑똑하신 분들이 성능 좋은 함수들을 구현해주셨으나, 이를 마음껏 활용하기 이전에 직접 backpropagation을 구현해서 도대체 어떻게 돌아가는지 피부로 직접 느껴보고 싶었다.Model architecture입력 차원은 4, hidden layer의 개수는 3, 깊어질수록 hidden node의 수는 1씩 줄어들도록 모델을 설계해보자. 그림으로 그려보면 아래와 같다.activation.. 2024. 7. 13. [Pytorch] MSE Loss in regression problem 오늘은 회귀 문제에서 loss function으로 가장 널리 사용되는 Mean Squared Error loss function에 대해서 살펴보고 pytorch에서 구체적으로 어떻게 돌아가는지 수식과 함께 살펴보고자 한다. MSE loss function을 살펴보고 분류 문제에서의 Cross entropy loss을 살펴볼 것이다. pytorch에서 모델을 정의하고, prediction, loss, grad을 구하고, 이를 기반으로 gradient descent을 하는 것은 잘 구현되어 있지만 그 내부에서 왜 이런 grad가 나왔는지 개인적으로 알아보고 싶었기 때문에 글을 적어본다.Simple Linear Regression우선, 문제를 심플하게 바라보기 위해 변수가 1개인 단변량 회귀 문제를 생각해보.. 2024. 6. 10. [Recommender System / Paper Review] #36 Modeling Delayed Feedback in Display Advertising 논문 링크(199회 인용)Summarydisplay 광고에서 conversion은 click을 하고 오랜 시간 이후 발생하는 경우(delayed feedback)가 종종 있는데, 이는 training 데이터 수집 기간에 실제로 이후에 conversion이 발생했음에도 아직 관측되지 않아서 negative sample로 잘못 레이블링되는 문제가 있다.기존의 연구들은 데이터를 positie / unlabeled으로 구분했다. unlabeled가 실제로 이후에도 negative인지 확신할 수 없기 때문이다.그런데 이 연구들은 positive 데이터가 positive class에서 random하게 선택된다고 가정한다. 즉, positive 데이터가 관측되지 않을 확률이 constant하다는 것인데, 실제로는.. 2024. 5. 28. [Prompt Engineering] Automatic Prompt Optimization with "Gradient Descent" and Beam Search Paper Review 지난 포스팅에서 프롬프트 엔지니어링, 그리고 이의 확장된 개념인 프롬프트 최적화에 대해서 살펴보았다. 아직 이 글을 읽지 않았다면, 원활한 이해를 위해 먼저 읽고 오는 것을 추천한다.https://steady-programming.tistory.com/83 [NLP][Prompt Engineering] What is Prompt OptimizationPrompt Engineering바야흐로 LLM의 시대이다. chatgpt를 시작으로 llama, mistral, mixtral, claude 등 다양한 llm이 쏟아져나오고 있는 가운데, 자연스럽게 프롬프트 엔지니어링 기술이 주목을 받고 있다.프롬프steady-programming.tistory.com한마디로 parameter space가 자연어이고 ob.. 2024. 5. 24. 이전 1 2 3 4 5 6 ··· 13 다음