8/19 Today I Learned -1

boks·2024년 8월 19일
post-thumbnail

📖 학습한 내용

  • 사전학습모델
  • 객체 탐지
  • 언어모델
  • LangChain
  • NER
  • VQA

📖 핵심내용

📌 사전학습모델

  • VGGNet
    파라미터가 많은 깊은 네트워크 구조
    3*3 필터 사용하여 파라미터 수 감소

  • InceptionNet
    인셉션 모듈 : 서로다른 필터를 한번에 적용 -> 파라미터수 매우 증가함
    bottlenecck-1*1 필터를 사용하여 파라미터수 감소(차원축소)
    보조분류기(auxiliary class) : 훈련시 중간에 중간 적용하여 경사소실문제 해결

  • ResNet
    잔차모델(Residual block) : 이전레이어의 입력이 다름층의 출력에 더해지는 구조 -> 경사소실 문제 대응 <- 잔차만을 학습한다. 여러 곧에서 사용된다
    탑5 오류율이 사람보다 낮다

  • 모델 구조 흐름

    -> 레이어수는 계속 깊어지는 경향을 알 수 있다.
    -> 3X3 필터는 많이 사용된다 -> 파라미터수 감소
    -> 필터사이즈는 7X7로 비슷
    -> 피처맵의 깊이는 2048까지 증가하다가 다시 줄어들었다.

  • 트레이드 오프
    컴퓨터 리소스, 경사소실, 과적합등의 한계와 모델의 성능의 최적점을 찾는 것

  • 오토인코더 vs 이미지제너레이터
    오토인코더: 새로운 이미지로 인식
    제너레이터: 이미지 증강으로 인식 -> 로컬에 따로 저장하지 않고, 메모리 영역에 만들어서 사용할 수 있다.

  • transfer learning/ finetuning 변경 위치에 따른 특징
    입력층에 가까울수록 이미지의 일반적인 특성을 뽑는 파라미터
    출력층에 가까울수록 테스크에 최적화된 파라미터

📌 객체 탐지

  • 사전학습 모델 vs 객체 인식 모델
    리턴 : 사전학습모델-분류된라벨, 객체인식모델-위치(bonding box)와 라벨확률(confidence score)

    -> 객체가 이미지에 존재하는지 여부판단 + 위치파악 + 이미지 분류
    ※실시간성이 되는 처리 속도 : 초당 30프레임

  • SSD에서 객체 탐지 프로세스
    정해진 숫자의 앵커박스를 여러 해상도의 피처맵에 접용한다. -> 한 피처맵의 여러 앵커박스 중에서 스레드 홀드 50정도로 정하여 겹치는 정도를 구한다.(IoU) + 겹치지 않는 박스도 구한다 1:3 정도-> 겹치는 것들 중에서 가장 점수가 높은 박스만 남기고 제거한다.(또 IoU) -> GTB와 의 오차를 비교하여 offset 조정한다.

  • SSD에서 수용영역(receptied field)
    피처맵의 크기가 작을수록 큰 객체를 탐지할 수 있다.
    하나의 그리드 셀당 이미지가 들어가 있는 정도

    -> 수용영역에 따라서 다양한 크기의 객체를 탐지할 수 있다.
  • SSD 키워드

    multi-scale approach: 해상도의 피처맵의 다양성 + 앵커박스의 다양성
    -> 다양한 사이즈의 객체를 탐지

  • TSD에서 R-CNN 프로세스

    -> ROI(후보영역) 찾기 - selective serach algorithm 으로 ROI 도출. 수학적으로 계산된다

📌 언어모델

  • seq2seq 모델
    특정영역의 도메인을 받아서, 다른 도메인의 출력 시퀀스로 변환
    순서 정보를 담고 있다
  • RNN 기반 seq2seq 모델
    인코더 : RNN, LSTM등의 구조가 사용된다.
    input sequence 를 고정길이의 벡터로 변환

  • attention
    시퀀스의 context를 결정하기 위해서 서로 상호 작용하는 매커니즘
    시퀀스의 각 요소가 다른 모든 요소의 중요성을 평가하고 고려(거리와 상관없다)

    -> 인코더의 어텐션 : 더 나은 벡터 임베딩
    -> 디코더의 어텐션 : 다음 단어예측(마스킹되어있음)

  • BERT
    인코더를 사용하여서 더 나은 벡터를 사용한다.
    CLS : 입력 시퀀스 데이터 전체정보를 반영하기 위한 토큰
    SEP : 두개의 문장을 구분하기 위한 토큰

    -> 한 시퀀스에 두문장이 들어간 경우

  • prompt engineering
    원하는 결과를 얻기 위해 프롬프트를 만들고 최적화하는 과정
    클라이언트로 업무 효율 높이기 위해서 구동
    모델링시 학습의 효율을 높이기 위해서 구동

  • prompt 구성요소
    모델이 수행하기를 원하는 명령
    외부정보 또는 추가 맥락정보

📌 LangChain

  • 질의응답 시스템 처리

  • LangChain이란?
    LLM 서비스를 더 쉽게 사용할 수 있게하는 프레임워크
    여러 API를 잘 엮어서 어플리케이션을 만들어준다

  • 구성요소
    1) 프롬프트 템플릿
    2) Chains
    3) Agents
    4) Memory
    5) Document Loaders
    6) Retrievers
    7) Output Parsers

📌 NER

  • 정의
    객체명 인식
    미리 정의해둔 사람, 회사 장소 시간 단위 등에 해당하는 단어(개체명)을 문서에서 인식하여 추출 분류하는 기법
    -> 추출된 개체명은 인명(person), 지명(location), 기관명(organization), 시간(time) 등으로 분류
  • NER을 통해서 카테고리 정보를 주면 더 정확한 답변을 얻을 수 있다.

📌 VQA

  • 정의
    시각적 질의응답 - 시각적인 이미지와 그 이미지에 대한 질문을 입력했을때, 질문에 적절한 답을 제공하는 인공지능 기술

📖 이후 학습 계획

profile
설계엔지니어의 변신

0개의 댓글