πŸ“—
JunegLee's TIL
  • TIL
  • python
    • class
    • String Basic
    • regularExpression
    • String function
    • Generator
    • String format
    • getset
    • module
    • while
    • numpy
    • print()
    • matplotlib
    • for
    • Boolean
    • tuple
    • package
    • input(variable)
    • list
    • if
    • file
    • type()
    • pandas
    • function
    • dictionary
    • ꡬ문 였λ₯˜μ™€ μ˜ˆμ™Έ
    • builtinFunction
    • Constructor
  • algorithm
    • sort
      • mergeSort
      • insertionSort
      • bubbleSort
      • heapSort
      • quickSort
      • selectionSort
    • recursion
    • Greedy
    • DepthFirstSearch
    • basic
      • DataStructure
    • hash
    • BreadthFirstSearch
  • tensorflow
    • keras
      • layers
        • Flatten
        • Flatten
        • Dense
        • Dense
        • Conv2D
        • Conv2D
    • tensorflow1x
    • tensorflow2x
  • DB
    • setting
    • join
    • subQuery
    • overview
  • deep-learning
    • neuralNetwork
    • perceptron
    • neuralNetworkLearning
    • convolution neural network
    • Gradient Descent
    • Linear Regression
    • backPropagation
    • logistic regression
    • overview
  • textPreprocessing
    • overview
  • java
    • basics
      • generic
      • Variable
      • String
    • theory
      • Object Oriented Programing
  • NLP
    • Embedding
    • Natural Language Processing
Powered by GitBook
On this page
  • μžμ—°μ–΄ 처리 (Natural Language Processing)
  • μžμ—°μ–΄ 처리 task
  • ν˜•νƒœμ†Œ 뢄석
  • 개체λͺ… 인식
  • ꡬ문 뢄석
  • μ§€λ„ν•™μŠ΅, λΉ„μ§€λ„ν•™μŠ΅, κ°•ν™”ν•™μŠ΅ 차이점을 μ„œμˆ ν•˜μ‹œμ˜€.
  • λ‹¨μˆœ μ„ ν˜• νšŒκ·€ λΆ„μ„μ˜ loss function에 λŒ€ν•˜μ—¬ μ„œμˆ ν•˜μ‹œμ˜€.
  • gradient vanishing problem에 λŒ€ν•΄μ„œ μ„œμˆ ν•˜μ‹œμ˜€.
  • learning rate와 weight decay에 λŒ€ν•΄μ„œ μ„œμˆ ν•˜μ‹œμ˜€.
  • BERT의 ν•™μŠ΅ 방법에 λŒ€ν•˜μ—¬ μ„œμˆ ν•˜μ‹œμ˜€.
  • Universal Sentence Encoder의 단점에 λŒ€ν•΄μ„œ μ•„λŠ”λŒ€λ‘œ μ„œμˆ ν•˜μ‹œμ˜€.

Was this helpful?

  1. NLP

Natural Language Processing

μžμ—°μ–΄ 처리 (Natural Language Processing)

  • μžμ—°μ–΄λž€ μ‚¬λžŒκ³Ό μ‚¬λžŒμ΄ 일상 μƒν™œμ—μ„œ μ„œλ‘œ λŒ€ν™”ν•˜λŠ”λ° μ‚¬μš©ν•˜λŠ” μ–Έμ–΄λ₯Ό λœ»ν•˜λ©°, μ΄λŸ¬ν•œ μžμ—°μ–΄μ˜ 의미λ₯Ό λΆ„μ„ν•˜μ—¬ 컴퓨터가 처리 ν•  수 μžˆλ„λ‘ ν•˜λŠ” 일

  • μžμ—°μ–΄ μ²˜λ¦¬λŠ” μ „μ²˜λ¦¬λ₯Ό μœ„ν•œ ν˜•νƒœμ†Œ 뢄석, 개체λͺ… 인식, ꡬ문 뢄석뢀터 μŒμ„±μΈμ‹, λ‚΄μš© μš”μ•½, λ²ˆμ—­, μ‚¬μš©μžμ˜ 감성 뢄석, ν…μŠ€νŠΈλΆ„λ₯˜μž‘μ—… (슀팸, λ‰΄μŠ€ λΆ„λ₯˜), 질의 응닡 μ‹œμŠ€ν…œ, 챗봇 λ“±μ˜ μ‘μš©λΆ„μ•Όμ— ν™œμš©μ΄ λœλ‹€.

μžμ—°μ–΄ 처리 task

  • Part-of-Speech νƒœκΉ…

  • ν˜•νƒœμ†Œ 뢄석(ν•œκΈ€)

  • 개체λͺ… 인식

  • ꡬ문 뢄석

  • μƒν˜Έ μ°Έμ‘°

  • 감정 뢄석

  • λ²ˆμ—­

  • 질의 응닡

  • 기계 독해

  • ν…μŠ€νŠΈ 생성

  • ν…μŠ€νŠΈ μš”μ•½

  • λŒ€ν™” μ‹œμŠ€ν…œ(챗봇)

  • μ–Έμ–΄ λͺ¨λΈ

ν˜•νƒœμ†Œ 뢄석

  • ν˜•νƒœμ†Œμ˜ μ •μ˜

    • μ˜λ―Έκ°€ μžˆλŠ” μ΅œμ†Œ λ‹¨μœ„

    • 문법적, 관계적은 λœ»μ„ λ‚˜νƒ€λ‚΄λŠ” 단어 λ˜λŠ” λ‹¨μ–΄μ˜ λΆ€λΆ„

  • ν˜•νƒœμ†Œ 뢄석

    • 단어λ₯Ό κ΅¬μ„±ν•˜λŠ” 각 ν˜•νƒœμ†Œλ₯Ό λΆ„λ¦¬ν•˜κ³  κΈ°λ³Έν˜• 및 ν’ˆμ‚¬ 정보λ₯Ό μΆ”μΆœ

개체λͺ… 인식

  • 개체λͺ…μ˜ μ •μ˜

    • 개체λͺ…μ΄λž€ μ‚¬λžŒμ΄λ¦„, νšŒμ‚¬μ΄λ¦„, μ§€λͺ…, μ˜ν™”μ œλͺ©, λ‚ μ§œ, μ‹œκ°„ 등을 말함

  • 개체λͺ… 인식

    • 개체λͺ… μΈμ‹μ΄λž€ ν…μŠ€νŠΈμ—μ„œ 개체λͺ…을 μ°Ύμ•„μ„œ νƒœκΉ…ν•˜λŠ” 것을 개체λͺ… 인식이라고 함

ꡬ문 뢄석

  • ꡬ문 뢄석은 λ¬Έμž₯을 이루고 μžˆλŠ” ꡬ성 μ„±λΆ„μœΌλ‘œ λΆ„ν•΄ν•˜κ³ , μœ„κ³„ 관계λ₯Ό λΆ„μ„ν•˜μ—¬ λ¬Έμž₯의 ꡬ쑰λ₯Ό κ²°μ •ν•˜λŠ” 것

μ§€λ„ν•™μŠ΅, λΉ„μ§€λ„ν•™μŠ΅, κ°•ν™”ν•™μŠ΅ 차이점을 μ„œμˆ ν•˜μ‹œμ˜€.

  • 지도 ν•™μŠ΅(Supervised Learning) : λ ˆμ΄λΈ”(Label)μ΄λΌλŠ” μ •λ‹΅κ³Ό ν•¨κ»˜ ν•™μŠ΅ν•˜λŠ” 것 (ex. λΆ„λ₯˜)

    • μ •λ‹΅μ˜ 데이터가 μ‘΄μž¬ν•˜λŠ” μƒν™©μ—μ„œ ν•™μŠ΅ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ©°, μ’€ 더 μ–Όλ°€ν•˜κ²Œ μ •μ˜ν•˜λ©΄, μž…λ ₯데이터 x와 그에 λŒ€ν•œ μ •λ‹΅ λ ˆμ΄λΈ” y의 쌍(x, y)λ₯Ό μ΄μš©ν•΄μ„œ ν•™μŠ΅ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜

  • 비지도 ν•™μŠ΅(Unsupervised Learning) : λ ˆμ΄λΈ”μ΄ 없이 ν•™μŠ΅ν•˜λŠ” 것 (ex. μ›Œλ“œνˆ¬λ²‘ν„°(word2Vec))

    • μ •λ‹΅ λ ˆμ΄λΈ” y 없이 μž…λ ₯데이터 xλ§Œμ„ μ΄μš©ν•΄μ„œ ν•™μŠ΅ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜, 지도 ν•™μŠ΅μ˜ λͺ©μ μ΄ μ–΄λ–€ 값에 λŒ€ν•œ μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•˜λŠ” 것이라면, 비지도 ν•™μŠ€μ€ λ°μ΄ν„°μ˜ μˆ¨κ²¨μ§„ νŠΉμ§•(Hidden Featrue)λ₯Ό μ°Ύμ•„λ‚΄λŠ” 것에 λͺ©μ μ΄ μžˆλ‹€

  • κ°•ν™”ν•™μŠ΅(Reinforcement Learning) : 행동(action)에 λŒ€ν•œ 보상(rewards) 기반으둜 ν•™μŠ΅ (ex. 주둜 κ²Œμž„μ—μ„œ ν™œμš©)

    • κ°•ν™” ν•™μŠ΅μ€ μ—μ΄μ „νŠΈ (Agent)κ°€ μ£Όμ–΄μ§„ ν™˜κ²½(State)μ—μ„œ μ–΄λ–€ 행동을 μ·¨ν•˜κ³  이에 λŒ€ν•œ 보상(Reward)을 μ–»μœΌλ©΄μ„œ ν•™μŠ΅μ„ μ§„ν–‰

λ‹¨μˆœ μ„ ν˜• νšŒκ·€ λΆ„μ„μ˜ loss function에 λŒ€ν•˜μ—¬ μ„œμˆ ν•˜μ‹œμ˜€.

  • λ‹¨μˆœ μ„ ν˜• νšŒκ·€ 뢄석은 ν•˜λ‚˜μ˜ 쒅속 λ³€μˆ˜μ— λŒ€ν•΄ λ…λ¦½λ³€μˆ˜κ°€ ν•˜λ‚˜μΈ 경우이며, 𝐻 π‘₯ = π‘Šπ‘₯ + b(π‘₯: λ…λ¦½λ³€μˆ˜, π‘Š: κ°€μ€‘μΉ˜(weight), 𝑏 : 편ν–₯(bias))둜 μ‚¬μš©ν•œλ‹€.

    μ΄λ•Œ, loss function(cost function)은 κ°€μ„€κ³Ό μ‹€μ œ 데이터λ₯Ό λ„£μ—ˆμ„ λ•Œμ˜ κ°’μ˜ 차이λ₯Ό μ„€λͺ…ν•œ 것이며, ν•™μŠ΅μ˜ 차이λ₯Ό μ€„μ΄λŠ” λ°©ν–₯으둜 κ°€μ€‘μΉ˜(W)와 편ν–₯(b)을 μ‘°μ •ν•œλ‹€.

    ν•˜μ§€λ§Œ 차이에 λŒ€ν•œ μ‹€μ œκ°’κ³Ό μ΄λ‘ κ°’μ˜ 합이 μ •ν™•ν•œ 값이 λ‚˜μ˜€μ§€ μ•ŠλŠ” κ²½μš°κ°€ λ°œμƒν•  수 있기 λ•Œλ¬Έμ— μ ˆλŒ€κ°’κ³Ό μ œκ³±μ„ μ‚¬μš©ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•˜λ©°, μ—¬κΈ°μ„œ μ œκ³±μ„ μ‚¬μš©ν•˜λ©΄

    κ°€μ€‘μΉ˜κ°€ λ†’μ•„μ§€λŠ” νš¨κ³Όκ°€ λ°œμƒν•˜λ©°, 이것을 μœ„ν•΄μ„œ 평균 제곱 였차(MSE: Mean Squared Error)λ₯Ό μ‚¬μš©ν•˜μ—¬

    μž„μ˜μ˜ 직선을 κ·Έμ–΄ 이에 λŒ€ν•œ 평균 제곱 였차λ₯Ό κ΅¬ν•˜κ³ , 이 κ°’(였차)을 κ°€μž₯ μž‘κ²Œ λ§Œλ“€μ–΄μ£ΌλŠ” 값을 μ°Ύμ•„ κ°€λŠ” μž‘μ—… ν•œλ‹€.

gradient vanishing problem에 λŒ€ν•΄μ„œ μ„œμˆ ν•˜μ‹œμ˜€.

  • Sigmoid λ‚˜ tanh와 같은 ν™œμ„±ν™” ν•¨μˆ˜(activation function)κ°€ μ—­μ „νŒŒ κ³Όμ •μ—μ„œ 0에 κ°€κΉŒμš΄ μ•„μ£Ό μž‘μ€ κΈ°μšΈκΈ°κ°€ 계속 κ³±ν•΄μ§€λ©΄,

    μ•ž λ‹¨μ—λŠ” κΈ°μšΈκΈ°κ°€ 잘 μ „λ‹¬λ˜μ§€ μ•Šκ²Œ 되며, 좜λ ₯이 점점 μž‘μ•„μ§€λŠ” μ§„λ‹€.

  • λ„€νŠΈμ›Œν¬κ°€ κΉŠμ–΄μ§ˆμˆ˜λ‘ λ”μš± μ‹¬κ°ν•΄μ§€λŠ” ν˜„μƒμ΄ λ°œμƒν•˜λ©°, 이λ₯Ό μ™„ν™”ν•˜κΈ° μœ„ν•΄μ„œ ReLU와 같은 ν™œμ„±ν™” ν•¨μˆ˜λ₯Ό μ΄μš©ν•œλ‹€

  • ReLUλŠ” μ–‘μˆ˜κ°’μ—μ„  νŠΉμ • 값에 μˆ˜λ ΄ν•˜μ§€ μ•Šμ•„μ„œ μ‹œκ·Έλͺ¨μ΄λ“œ ν•¨μˆ˜λ‚˜ ν•˜μ΄νΌλ³Όλ¦­νƒ„μ  νŠΈμ— λΉ„ν•΄ 더 잘 λ™μž‘ν•˜λ©°, 연산도 κ°„λ‹¨ν•˜μ—¬ 속도도 훨씬 빠름

    ν•˜μ§€λ§Œ, μž…λ ₯값이 음수이면 κΈ°μšΈκΈ°κ°€ 0이 λ˜μ–΄, λ‰΄λŸ°μ΄ νšŒμƒν•  수 μ—†λ‹€λŠ” 뜻의 죽은 렐루(dying ReLU)ν˜„μƒμ΄ λ°œμƒν•˜κΈ° λ•Œλ¬Έμ—

    μž…λ ₯값이 음수 일땐, 맀우 μž‘κ²Œ 값을 λ³€κ²½ν•˜λŠ” 리킀 ν•¨μˆ˜(Leaky ReLU)ν•¨μˆ˜λ₯Ό μ΄μš©ν•œλ‹€.

learning rate와 weight decay에 λŒ€ν•΄μ„œ μ„œμˆ ν•˜μ‹œμ˜€.

  • 경사 ν•˜κ°•λ²•(Gradient Descent)은 μž„μ˜μ˜ W값을 μ •ν•œ 뒀에, costκ°€ μ΅œμ†Œκ°€ λ˜λ„λ‘ Wλ₯Ό μ‘°κΈˆμ”© μˆ˜μ •ν•˜λŠ” 방법이며, 미뢄을 ν†΅ν•œ μ ‘μ„ μ—μ„œμ˜ 기울기λ₯Ό ν™œμš©ν•œλ‹€

    즉, κ²½μ‚¬ν•˜κ°•λ²•μ€ 였차 변화에 따라 이차 ν•¨μˆ˜ κ·Έλž˜ν”„λ₯Ό λ§Œλ“€κ³  μ μ ˆν•œ ν•™μŠ΅λ₯ μ„ μ„€μ ˆν•΄ λ―ΈλΆ„ 값이 0인 지점을 κ΅¬ν•˜λŠ” 것이닀.

    μ—¬κΈ°μ„œ μ‚¬μš©ν•˜λŠ” ν•™μŠ΅λ₯ (π‘™π‘’π‘Žπ‘Ÿπ‘›π‘–π‘›π‘” π‘Ÿπ‘Žπ‘‘e)을 ν†΅ν•΄μ„œ μ μ ˆν•œ μ‘°μ ˆν•˜μ—¬ μ‚¬μš©ν•˜κ²Œ λ˜λŠ”λ°, W의 값을 λ³€κ²½ν•  λ•Œ, μ–Όλ§ˆλ‚˜ 크게 λ³€κ²½ν• μ§€λ₯Ό κ²°μ •ν•œλ‹€

    ν•™μŠ΅λ₯ μ„ λ„ˆλ¬΄ 크게 μ •ν•˜λ©΄ λ°œμ‚°ν•˜κ²Œ 되고, λ„ˆλ¬΄ μž‘κ²Œ μ •ν•˜λ©΄ ν•™μŠ΅ 속도가 느렀질수 μžˆλ‹€.

BERT의 ν•™μŠ΅ 방법에 λŒ€ν•˜μ—¬ μ„œμˆ ν•˜μ‹œμ˜€.

: BERTλŠ” Transformer의 인코더λ₯Ό μ μΈ΅ν•œ λͺ¨λΈμ„ μ‚¬μš©ν•˜λ©°, 잘 λ§Œλ“€μ–΄μ§„ BERT μ–Έμ–΄λͺ¨λΈ μœ„μ— 1개의 classification layer만 λΆ€μ°©ν•˜μ—¬ λ‹€μ–‘ν•œ NLP taskλ₯Ό μˆ˜ν–‰ν•œλ‹€ μ˜μ–΄κΆŒμ—μ„œ 11개의 NLP task에 λŒ€ν•΄ state-of-the-art (SOTA) λ‹¬μ„±ν•˜λ©° λ‹Ήμ‹œμ—λŠ” λͺ¨λ“  λΆ€λΆ„μ—μ„œ μ΅œμƒμ˜ 쑰건을 λ‹¬μ„±ν•˜μ˜€λ‹€.

  • MLM(Masked Language Model)

    • μž…λ ₯ λ¬Έμž₯μ—μ„œ μž„μ˜λ‘œ 토큰을 masking ν•œ 후에, ν•΄λ‹Ή 토큰을 λ§žμΆ”λŠ” ν•™μŠ΅

  • NSP(Next Sentence Prediction)

    • 두 λ¬Έμž₯이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 두 λ¬Έμž₯의 μˆœμ„œλ₯Ό μ˜ˆμΈ‘ν•˜λŠ” 방식

Universal Sentence Encoder의 단점에 λŒ€ν•΄μ„œ μ•„λŠ”λŒ€λ‘œ μ„œμˆ ν•˜μ‹œμ˜€.

  • μ„±λŠ₯은 μ’‹μœΌλ‚˜ νŒŒμΈνŠœλ‹μ΄λ‚˜ μ—°μž₯ν•™μŠ΅μ΄ μžˆμ–΄μ•Ό ν•œλ‹€.

    • 파인 νŠœλ‹(fine-truning) : 기쑴에 ν•™μŠ΅λ˜μ–΄μ Έ μžˆλŠ” λͺ¨λΈμ„ 기반으둜 아킀텍쳐λ₯Ό μƒˆλ‘œμš΄ λͺ©μ (λ‚˜μ˜ 이미지 데이터에 맞게)λ³€ν˜•ν•˜κ³  이미 ν•™μŠ΅λœ λͺ¨λΈ Weights둜 λΆ€ν„° ν•™μŠ΅μ„ μ—…λ°μ΄νŠΈν•˜λŠ” 방법

PreviousEmbedding

Last updated 3 years ago

Was this helpful?