전체 글
-
백준 1956 - 운동Algorithm/Graph 2024. 1. 7. 13:02
1956번: 운동 (acmicpc.net) 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의 www.acmicpc.net 이 문제를 처음보고 solved.ac에서 본 그래프 문제들과 굉장히 유사한 문제라는 생각이 들게 되었다. 그 문제들도 cost, start, end를 설정해서 list 형태로 append 시켜놓고, 알고리즘을 사용하게 되는데, 이 때 graph 알고리즘이라면 BFS, DFS 등이 있을 수 있겠지만, 나의 첫번째 접근은 "도로의 길이의 합이 최소"라는 지점에 착안하여 다익스트라 알고리즘을..
-
Attention Is All You Need - Transformer 논문 리뷰Internship_LLM 2024. 1. 4. 17:23
Attention 초기 논문에 이어 Transformer 모델을 제시한 "Attention Is All You Need" 논문을 리뷰해보고자 한다. LLM을 위해서 뿐만 아니라 거의 모든 AI에 적용되고 있는 모델들이기에 이 기회에 논문을 정독하고 리뷰를 작성해서 기록해보고자 했다. 1706.03762.pdf (arxiv.org) 1. Introduction RNN 자체는 재귀적 순환 구조를 가지고 있다보니 긴 Sequence 길이, 메모리의 한계와 같은 문제들에 봉착하게 되었다. -> 이 문제들을 해결하기 위해 모든 Network Architecture를 Attention 모델만을 이용해서 구축하고자 제안한 모델이 바로 Transformer이다. -> Attention이 입력, 출력 sequence 거..
-
Attention 초기 논문 리뷰Internship_LLM 2024. 1. 4. 11:21
기업 인턴을 진행하면서 LLM 연구를 시작하게 되었다. 그 가장 첫번째 발자취는 Attention의 가장 첫 논문인 "Neural Machine Translation By Jointyly Learning To Align And Translate" 을 리뷰하면서 Attention 모델을 이해하는 것이다. 1409.0473v7.pdf (arxiv.org) 1. Introduction machine translation에서 최근에는 Neural Machine Translation을 사용하고 있는데, 이는 대부분 encoder-decoder 방식을 사용하는 것이 일반적이다. - encoder : encoder Neural Network가 문장을 읽고 fixed-length vector 들을 encoding 한다..
-
Evaluating ModelsAI for Medicine(coursera)/Evaluating Models 2023. 12. 28. 10:38
※ Sensitivity, Specificity and Evaluation Metrics - Sensitivity : 환자가 질병에 걸렸다는 점을 감안하여 해당 환자를 해당 질병에 걸린 것으로 분류할 확률 - Specificity : 환자가 정상인 경우 환자를 정상으로 분류할 확률 - P(disease) = Prevalence - P(normal) = 1 - P(disease) = 1 - Prevalence ※ PPV, NPV - PPV = P(disease | +) : Model이 환자의 양성을 예측했을 때, 환자가 실제로 질병에 걸릴 확률 - NPV = P(normal | -) : Model이 환자의 음성을 예측했을 때, 환자가 실제로 정상일 확률 - 이 예시에서 PPV = 2 / 4, NPV = 5..
-
Disease detection with Computer VisionAI for Medicine(coursera)/Disease detection with Computer Vision 2023. 12. 26. 15:29
※ Training, Prediction, and Loss 딥러닝 알고리즘, 모델, NN, CNN 등의 알고리즘은 흉부 X선 input 값을 학습하여 X선에 mass(질량)이 포함되어 있는지 여부를 출력한다. 알고리즘은 영상에 질량이 포함될 확률인 score 형식으로 output 값을 생성하게 되는데, 질량을 포함할 확률은 0.48, 질량이 포함될 확률은 0.51로 출력되게 된다. 훈련이 시작되지 않을 경우에는 이러한, score와 확률 출력값은 원하는 레이블과 일치하지 않게 될 것이다. 원하는 질량 레이블이 1이고, 정상 레이블이 0으로 가정한다면 0.48은 1에서 더 멀리 떨어져 있고, 0.51은 원하는 레이블 0에서 멀리 떨어져 있게 된다. Loss function을 출력 확률과 원하는 레이블의 오..
-
롯데 ON 방문기Google ML Bootcamp 2023. 10. 11. 17:27
Google ML Bootcamp에 합류한지도 어언 한 달이 지났다. 코세라 강의도 열심히 수강해서 이제 종지부를 찍고 Kaggle 팀도 구한 상태에서 마침 이번 Tech Talk은 롯데 ON에 직접 방문해서 오프라인 미팅을 할 수 있는 기회가 주어졌다. 바로 궁금한 질문을 사전 질문으로 올리고, 재빠르게 신청을 해서 롯데사옥을 방문할 수 있게 되었다. 신촌에서 무려 40분이나 걸려서 잠실역에 도착을 했는데, 대체 어디가 어딘지 전혀 모르겠어서 2번 출구에서 이리갔다 저리갔다 한참을 헤메었다. 네이버 지도를 검색해도 서울스카이, 시그니엘 호텔이 나오고 이게 대체 어디가 어딘지 전혀 갈피를 못잡다가 그냥 서울스카이를 가보자는 생각으로 발걸음을 옮겼는데 뭔가 저기로 가면 회사가 있을 것 같다는 생각이 들어서..
-
Transformer NetworksGoogle ML Bootcamp/Sequence Models 2023. 10. 4. 20:12
※ Self Attention - q : query - K : key - V : value - 이 벡터들은 각 단어에 대한 Attention 값을 계산하기 위한 핵심 input이다. - q = W^Q * x - K = W^K * x - V = W^V * x - q을 다른 자리에 있는 단어들과의 상관관계를 인식 시키기 위해 q * K, ..., q * K의 형태로 만들어 벡터화시킨다. 이렇게 모든 단어를 연결하여 문장의 의미로 인식되게 만든다. - 5개의 단어로 표현 될 수 있는 문장에서 A 단어를 표현하기 위해서 V, ..., V 와 q * K, ... q * K를 각각 곱하고 전의 모든 값들을 합한다. 이렇게 A ~ A의 모든 단어를 표현할 수 있다. - softmax 함수의 분모 d_k^(1/2)는 ..
-
Various Sequence To Sequence ArchitecturesGoogle ML Bootcamp/Sequence Models 2023. 10. 3. 12:59
※ Picking the Most Likely Sentence - Language model : 항상 0 벡터를 입력으로 해서 모델링한다. - Machine translation : 입력 문장의 표현을 파악하는 인코딩 부분 + 해당 입력 문장을 사용하여 디코딩된 네트워크를 사용함. -> 조건부 언어 모델이라 부르고, 어떤 문장의 확률을 모델링 하는 대신 입력한 어떤 문장에 대한 번역을 모델링한다. - 분포를 무작위로 샘플링 하지 않고, 조건부 확률을 극대화하는 문장 y를 찾는다. - 수식의 항을 최대화하는 y값을 찾도록 알고리즘을 짜야한다. - visiting 보다 going이 더 일반적으로 사용되는 단어라, 확률이 높기 때문에 greedy search를 하게 되면 두번째 문장이 선택되어 덜 최적인 문장..