반응형

소프트웨어 944

자연어 처리 모델 학습 - 파인 튜닝된 모델 분석 및 평가

목표 - 언어 모델을 파인튜닝할 때 발생하는 문제들을 분석하고 평가하는 방법들에 대해 이해하기 위험하고 평향된 말이 들어왔을 때 모델이 답변을 잘 선택하도록 만들어야 한다. 언더 피팅과 오버비팅 (memorized) 일반화 - 우리가 추구하는 목표, 모르는 데이터에 대해 적절한 답변을 준다. 감정 분류 - 긍, 부정, 행복, 슬픔과 같은 감정 분류 자연어 추론 - 전제문장과 가설문장이 주어졌을 때 가설문장의 참, 거짓 등을 밝힌다. 의도 분류 - 정확한 의도 파악 다양한 분류 작업에서 사용된다. label이 늘어나도 행렬이 늘어나는 것이기 때문에 사용 가능하다. 항상 예시로는 암의 관측을 정확도의 오류의 위험성을 말합니다. 실제 정답이 negative인데 ture라고 한 경우 중요한 지표이다. 리콜이 낮..

자연어 처리 모델 학습 - hyper parameter tuning 하이퍼 파라미터 튜닝

목표 - 파인 튜닝 시 모델 성능 최적화를 위한 하이퍼 파라미터 튜닝에 대해 이해할 수 있다. 1. 이전의 학습 내용을 까먹는다. 2. 데이터의 크기가 작을수록 학습이 불안정하다. 사전 학습 때 A 데이터로 학습하고 B 데이터에 대해 학습하면 전이 학습의 효과를 사용하지 못할 수 있다. 성공한 모델, 실패한 모델 모두 일어나니 전이학습의 일반적인 결과이다. A 작업을 잘 하길 원하는 것이 아니기 때문에 감수하고 진행하는 사람들도 있다. 학습을 많이 하면 분산이 줄어든다 -> 학습을 많이(오버피팅 전) 시켜야 한다. s 는 성공적으로 학습하여 파란색에 가있다. f는 학습이 하나도 되지 않았다. f는 로컬 미니멈에 있는 거나 기울기 소실 현상이 일어났다. 초반부터 learning rate를 작게 줘서 기울기..

자연어 처리 모델 학습 - 파인 튜닝 방법 1

목표 - 파인 튜닝 시 다양한 파인 튜닝 방법에 대해 이해하기 파인 튜닝으로 모델을 학습할 때 이전의 모델에 새로운 레이어를 붙여서 학습한다. 3- 컴퓨팅 연산 능력 부족, 데이터셋 부족, 데이터가 매우 유사할 때 사용 일반화된 피쳐 - 사전학습된 모델이 초반에 잘 뽑아준다. -> 바꾸지 않는다. = freezing한다. 데이터 셋이 크다 = 일반적인 패턴을 잡아 낼 수 있다. 모든 레이어를 다 활용하기에는 오버피팅을 할 가능성이 매우 크기 때문에 초반에서 일반화를 잘 했다고 기대하고 고정시킨 뒤에 부분을 학습시킨다. 모델 안에 레이어를 추가하겠다. adapter가 추가되었다. 입력으로 들어가는 프리픽스(prefix) 토큰만 학습시키는 것이다. - 작업이 바뀌면 prefix만 바꾸면 된다. 모델에 영향을..

자연어 처리 모델 학습 - 파인 튜닝(Fine tuning)이란?

목표 - 사전 학습된 모델의 가중치를 미세하게 조정하여, 특정 task를 수행하도록 학습하는 파인 튜닝의 목적과 작동 원리에 대해 이해할 수 있다. 그럼 전이 학습이랑 파인튜닝의 차이점이 뭔데...? 데이터를 만드는 일의 비용이 많이 든다. - 지도 학습의 라벨링을 하는 경우 간에 엄청난 차이가 있을 것인데, 아까 말했듯 사전 학습된 모델의 초반 레이어는 자연어에 대한 유용한 특징을 잘 추출해 낼 수 있다. 보통 사전 학습한 모델의 초반 레이어를 freezing하고 이 후 레이어를 학습시키거나 새로운 레이어를 추가하여 해당 레이어학습하는 등의 방법을 사용한다. 데이터가 충분히 크다면 프리징하지 않아도 되지만 보통 파인 튜닝을 할 경우 데이터가 그렇게 많지 않다. 2. 전설과 가설을 기호로 분류하여 입력 ..

자연어 처리 모델 학습 - 전이 학습(Transfer Learning)이란

목표 - 대량의 데이터로 사전 학습된 모델의 일반화된 지식을 활용하여 특정 자연어 처리 Task를 수행하는 방법인 전이 학습의 목적과 작동 원리에 대해 이해할 수 있다. 제일 마지막 레이어만 새로 학습한다! backbone - 뼈대가 되는 모델 => 모델이 크고 일반화 시킬 수 있어야 한다. 사전학습은 내용이 훨씬 많으며, 새로 배울 내용과 비슷한 특징을 가져야 한다.

자연어 처리 모델 학습 - Pre-training이란

목표 - 대량의 데이터로 언어 모델이 일반화된 지식을 갖도록 학습하는 사전 학습의 목적과 작동 원링 대해 이해하기 언어의 모호성과 중요성을 파라미터에 잘 적용시키는 것 미세조정 == fine tuning 각각 학습한 뒤 합쳐서 새로 사용한다. Fast txt나 Glove로 보완은 되었으나 모두 해결된 것은 아니다. 중요한 정보가 앞에 있을 경우 거의 전달되지 않는 문제 15% 정도 Mask를 사용하면 성능이 좋았다. 이렇게 하여 MASK 토큰을 원래 단어로 예측하도록 만든다. 여기선 n개를 보고 그 뒤를 예측하고, 또 n개를 보고 그 뒤를 예측하는 것의 반복이다. 모델의 강건성과 불확실성을 개선할 수 있다.

자연어 처리 python 실습 - 간단한 답변 랭킹 모델 만들기

간단한 답변 랭킹 모델 만들기 Introduction Chapter 5. 문장 임베딩 만들기 강의의 간단한 답변 랭킹 모델 만들기 실습 강의입니다. Transformers에 공유된 KoBERT-Transformers를 활용하여, 문장 수준 임베딩 간 유사도 계산을 활용하여 간단한 답변 랭킹 모델 (챗봇)을 구현합니다. 1. 한국어 일상 대화 데이터셋 수집 및 전처리 오늘 실습에서는 일상 대화 챗봇 구현에 많이 사용되는 Chatbot_data를 사용하겠습니다. 로드한 데이터셋은 이후 답변 랭킹 모델 추론에 사용됩니다. 출처: https://github.com/songys/Chatbot_data GitHub - songys/Chatbot_data: Chatbot_data_for_Korean Chatbot_d..

자연어 처리 문장 embedding 만들기 - BERT

목표 - Transformer의 encorder를 사용하는 언어 모델인 BERT의 작동 원리 이해 encorder를 사용하고 양방향 학습을 한다는 것이 GPT와의 차별성을 가졌다. 문장 단위의 자연어 추론에서 두각을 보였다. -> 전체적으로 분석하여 예측 ELMo - 입력이 들어왔을 때 엘모와 임베딩 모두를 사용하는 것 ELMo, GPT - 단방향 문장단위의 task를 고려할 때 뒤에서 앞으로도 앞에서 뒤로도 봐야하는데 단방향인 GPT는 부족하므로 양방향이 필요하다. 2번 논문 - 구조적으로 사전학습하겠다. 3번 논문 - 통계적으로 뉴럴넷을 학습하겠다. label이 있는 데이터를 통해 Fine turning을 한다. 문장 - 컨택스트 윈도우로 잠근 문장 문장이 여러개 있는 task는 양방향으로 봐야 잘 ..

C언어 영상처리 - padding, filters

CNN에서 사용했던 패딩과 똑같은 개념입니다. 2023.12.13 - [인공지능/공부] - CNN - 기본 개념 CNN - 기본 개념 우리는 여태까지 FCN으로 tensorflow에서 Dense만 사용해왔다. 그러나 사진과 같은 경우엔 해상도가 만만치 않아 대충 1000*1000이라고 하면 일렬로 나열하면 1000000이 된다. 이게 Dense layer 하나만 거쳐서 yoonschallenge.tistory.com 중앙값으로 필터를 취하는 것이다. 여기선 평균값을 취하는 필터이다. 여기서 한번 진행할 때 마다 원래 행렬 크기가 k*k -> (k-2) * (k-2)가 되므로 padding을 붙여준다. //padding int padding = 1; int pwidth = width + padding * ..

언어/C 2024.03.28
728x90
728x90