[Aiffel] 아이펠 24일차 개념 정리 및 회고

1. 머신러닝, 딥러닝 개념 정리

1) 텍스트 요약

  • 문서 원문의 핵심 주제를 추출해 짧은 요약 문자으로 변환하는 것
  • 요약 후 정보 손실을 최소화해야 함 = 정보를 압축하는 과정
  1. 추출적 요약
  • 원문에서 문장을 추출해서 사용
  • 머신러닝 방식 중 텍스트 랭크 알고리즘을 사용함
  • 문장 분류에 해당
  • 예) 네이버 뉴스 요약봇
  1. 추상적 요약
  • 원문을 기반으로 요약된 내용을 담고 있는 새로운 문장을 생성
  • RNN 활용 가능
  • 자연어 생성 영역
  1. RNN의 문제
  • 장기 의존성 문제 ✔✔✔🤔
  1. seq2seq
  • 2개의 RNN 아키텍처를 사용함
  • 입력 시퀀스에서부터 출력 시퀀스를 생성함
  • 원리
    • 인코더(첫 번째 RNN)에 원문을 입력
      • 인코더가 입력된 내용을 하나의 고정된 벡터(컨텍스트 벡터)로 변환함
    • 디코더(두 번째 RNN)가 컨텍스트 벡터를 전달받아 한 단어 씩 생성, 요약본 완성
  • 이번 실습에선 LSTM을 활용할 것
    • RNN과 차이점
      • 다음 time step의 셀에 hidden state뿐 아니라 cell state도 함께 전달함
  • 시작 토큰과 종료 토큰이 필요
  • 어텐션 매커니즘 필요

    출처
    • 인코더의 모든 step의 hidden state의 정보가 컨텍스트 벡터에 가중합 방식으로 반영되도록 함
      • 이때 가중치 값은 디코더의 현재 문장 생성 부위가 주어부인지, 술어부인지 등에 따라 컨텍스트 벡터가 다른 값이 됨.
  1. early stopping
es = EarlyStopping(monitor='val_loss', patience=2, verbose=1)
  • 손실이 줄어들지 않고 증가하는 현상이 2회(patience=2) 발생할 경우 학습을 멈추도록 함.
  • epochs를 크게 설정해도 모델 훈련의 최적점에 멈출 수 있는 방법

2. 회고

뉴스 요약봇을 만들었다. 솔직히 모든 과정을 새롭게 재구성할 수 있을 만큼 이해하진 못했다. 자연어 처리에 발을 들이려면 각오하라고 말하는 노드 같았다. 콜렉터가 되지 않으려면 스스로 생각하고 코드를 구성하는 능력을 키워야 할텐데 마음을 머리가 따라주지 않는다.
그 외엔 early stopping에 대해 알 수 있어 좋았다. 다음에 모델을 구성해서 학습시킬 때 꼭 활용해야겠다.

좋은 웹페이지 즐겨찾기