ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Day51] 슬로우 페이퍼 (Slow Paper)
    AIFFEL Life 2020. 12. 21. 11:51

    슬로우 페이퍼란?

    아이펠의 플립 스쿨 과정의 하나로 같은 반 학생들끼리 논문을 읽고 이해한 내용을 공유하는 수업입니다. 딥러닝의 경우 발전속도가 빠르고 최신 연구 결과는 논문으로 가장 먼저 정리되어 나오는데, 그 논문을 읽고 이해하여 구현하면 최첨단 기술로 구현된 제품으로 시장에 진입하게 되는거죠.

    그래서 논문을 읽는 분들이 그 어느 분야보다 많다고 할 수 있습니다. 그리고 논문을 읽다보면 최첨단 기술을 익힐 수 있게 될 뿐만 아니라, 본인도 연구한 결과를 이렇게 정리하면 좋겠다라는 생각도 자연스럽게 들고, 또 논문에서 소개하고 있는 관련된 연구 결과를 보면서 전반적인 딥러닝 지식도 넓어지게 됩니다.

    아무튼, 이런 장점이 있는 논문 읽기인데, 혼자서 하기란 어렵고, 또 처음 접근하면 아는 내용도 많지 않고 그냥 단순히 읽기만해서는 배우는 바가 그렇게 많지 않습니다. 그래서, 한 단락씩 천천히 읽어가면서, 서로 어떻게 이해했는가를 공유하며 토론하면서 이해가 잘 되지 않는 부분을 서로 도와가면서 논문을 이해하는 그런 시간입니다. 물론, 참여한 사람 모두가 이해 못하고 넘어 갈 수도 있지요.

    첫번째 논문은 "Efficient Estimation of Word Representations in Vector Space"였습니다. 여기에는 수업시간에 읽으면서 이해하려고 적은 메모를 공유합니다.

    https://arxiv.org/pdf/1301.3781.pdf

    abstract

    continuous vector representations of words를 위한 2개의 아키텍처 제안

    representations은 단어 유사도로 측정됨

    이전 최고 기술과 비교 → 정확도와 계산량에서 큰 진전

    1.6B 단어셋으로부터 고품질 word vector를 학습하는데 1일이 안걸림

    이 vectors가 syntactic, semantic 단어 유사도를 측정하는데 최첨단 성능을 나타냄을 확인

    introduction

    • 현재 NLP시스템과 기술은 단어를 원자단위로 취급 - 단어 유사도 개념이 없고 어휘내 인덱스로 표현 → 간단하다, 강건하다, 데이타 양이 많은 단순한 모델이 적은 데이타를 학습한 복잡한 시스템을 이김 (예. n-gram 모델, 현재 사실상 가능한 모든 데이타를 n-gram으로 학습 가능)
    • 간단한 모델에도 한계 존재. automatic speech recognition을 위한 관련된 in-domain 데이타양 제한적. - 성능은 고품질 transcribed 스피치 데이타의 양이 중요 (수백만 단어) 머신 번역에서, 많은 언어의 말뭉치는 단지 몇십억게만 가지고 있다. 그래서, 단순히 간단한 기술을 스케일업하는 것은 중요한 진전에 이르지 못하고 더 진보된 테크닉을 봐야한다.
    • 머신러닝 기술의 발달로, 복잡한 모델을 많은 데이터로 학습하는 것이 가능하고 단순한 모델을 이긴다. 가장 성공적인 컨셉은 distributed representation of words이다. 예. NN 기반 랭귀지 모델이 n-gram을 이긴다.
    • 1.1 goals of paper
      • main goal - 대량 데이터(수십억단어와 수백만 vocabulary) 로부터 고품질 단어 벡터 학습하기 위한 기술 소개. 이전 어떤 기술도 수억단어 이상 학습하지 못하고, 50-100 단어 벡터 차원으로 학습하지 못한다.
      • vector representation의 퀄리티를 측정하는 기술을 소개했음, 유사한 단어가 서로 근접하는 기대와 함께, 그리고 그 단어들이 여러개의 유사정도를 가질수 있다. 앞서 inflectional language (굴절어) context에서 관찰되었다. 예를 들면, 명사는 여러개의 워드 엔딩을 가질 수 있다.만약 우리가 original vector space의 subspace에서 유사한 단어를 찾으면, 유사한 엔딩을 가지는 단어를 찾을 수 있다.
      • 놀랍게도, 단어 유사도 representation은 단순한 syntactic 정규성?을 뛰어 넘는다. 단어 오프셋 기술을 단순한 대수 연산이 단어 벡터에 수행될때 사용하는 것은 예를 들면, 벡터 (왕) - 벡터(남자) + 벡터(여자)가 단어 여왕의 벡터 표현과 가장 가깝게 나타나다.
      • 이 페이퍼에서는 이 벡터 연산들의 정확성을 최대화합니다. 새로운 모델 아키텍처 (단어간 선형 규칙성을 보전하는) 를 개발하여... 새로운 이해 테스트 셋을 디자인합니다. (구문과 의미적 규칙성을 측정하기 위한) 그리고 많은 그런 규칙성이 높은 정확성으로 학습될 수 있습니다. 계다가, 어떻게 학습 시간과 정확도가 단어 벡터 차원과 학습데이터의 양에 의존한다.
    • 1.2 이전 연구
      • 연속 벡터로 단어를 표현하는 것은 긴 역사를 가지고 있음. 뉴럴넷 언어 모델을 추정하는 가장 널리 쓰이는 모델 아키텍처가 제안됨, 선형 projection layer로 feedforward neural network 비선형 히든 레이어 함께 학습하는데 사용되고 통게적 언어 모델. 이 작업 이후에 다른 많은 작업이 있었다.
      • 다른 재밌는 아키텍처는 뉴럴넷을 사용하여 워드 벡터가 먼저 학습되는 하나의 히든 레이어임. 워드 벡터는 NNLM을 학습시키는데 사용되며, 워드 벡터는 NNLM전체가 만들어지지 않고도 학습이 된다. 이 연구에서, 이 아키텍처를 직접 확장하고, 첫번째 단계에 집중한다. 워드백터가 단순한 모델로 학습되는...
      • 나중에 워드 벡터가 상당히 개선될 수 있었고 많은 NLP 응용에 단순화시킬 수 있었다. 워드 벡터 추정은 다른 모델 아키텍처를 사용하여 수행되고 다양한 말뭉치에 훈련이 된다, 그리고 결과로 나온 워드 벡터의 일부는 앞으로의 연구와 비교를 위해 활용될 수 있다. 그러나, 아는한, 이 아키텍처들은 학습을 위해 상당히 계산량이 많다. (로그 bilinear 모델의 예외
    1. 모델 아키텍처

    다른 많은 모델이 연속적인 단어 표현을 추정하는데 제안되었다. 잘 알려진 LSA와 LDA를 포함하여... 이 페이퍼는, 뉴럴넷에 의해 학습된 분산 표현에 집중한다. LSA보다 상당히 좋아졌다.(단어간 선형 규칙성을 보전하는데), LDA는 게다가 큰 데이타 셋에 계산량이 매우 크다.

    다른 모델 아키텍처를비교하기 위해, 우리는 먼저 계산량 복잡도를 정의한다. (완전히 모델 학습을 위해 접근되는 파라미터 숫자로). 다음, 정확도를 극대화하며, 복잡도를 최소화하는 데 최선 다한다.

    O에 비례... E 이포크, T 트레이닝 셋 단어 수, Q 모델 아키텍처. 일반적인 선택은 E = 3 -50이고 T는 10억까지. 모든 모델은 스토케스틱 경사 하강과 백프로파게이션 사용하여 훈련된다.

    • 2.1 ffnn 모델

      • 확률적 모델 제안. 인풋, 프로젝션, 히든, 아웃풋 레이어로 구성. 인풋에선, N 이전 워드가 인코딩 (1 of V 코딩 사용), V는 어위사전 사이즈. 입력 레이어는 프로젝션 레이어로 프로젝션 N x D차원으로, 공유된 프로젝션 매트릭스 사용하여. N인풋만 액티브? 함 어떤 주어진 순간에, 프로젝션 레이어 조합은 상대적으로 싼 작업.
      • NNLM 아키텍처는 복잡해 짐(프로젝션과 히든 레이어사이 계산에서, 프로젝션 레이어 값이 두꺼워 지면서). N = 10인 일반적인 선택에서, 프로젝션 레이어(P)는 500~2000이며, 히든 레이어 사이즈 는 500~1000 유닛임. 게다가 히든레이어는 확률적 분표 계산하는데 사용 (보캐불러리의 모든 단어에 대해), 출력 레이어(차원 V). 그래서, 계산 복잡도는
      • Q = N X D + N X D X H + H X V
      • 중요한 텀은 H x V. 그러나, 실제 솔루션은 그것을 피하는데 제안된다. 계층적 버전 버전의 소프트맥스를 쓰거나, 노멀라이즈된 모델을 완전히 피함 (학습중 노멀라이즈 안된 모델 사용). 보캐불러리의 바이너리 트리 표현으로, 출력 유닛 숫자 (평가가 필요한)는 Log(v)까지 내려갈 수 있다. 복잡도는 N x D x H로 결정된다.
      • 계층적 소프트맥스를 사용 (보캐불러리가 허프만 바이너리 트리로 표현된다) 이것은
    • 2.2 rnnlm

      • rnn 기반 모델은 어떤 제안을 극복하기 위해 제안, 콘텍스트 길이를 지정하기 위해 (model N의 순서), 그리고 이론적으로 rnn이 효율적으로 더 복잡한 패턴을 나타낼 수 있어서. rnn 모델은 프로젝션 레이어가 없고, 단지 인풋, 히든, 그리고 아웃풋 레이어만 있다. 이 타입에서 특별한 것은 리커런트 매트릭스 (히든 레이어와 자신을 연결)가 시간 지연 연결을 사용함. 이렇게 하여 리커런트 모델이 어떤 단기 메모리를 형성하며, 과거의 정보는 히든 레이어 스테이트에 의해 나타낼 수 있음 (현재 인풋과 이전 단계의 히든 스테이트에 의해 업데이트 됨)

      • rnn 모델의 트래이닝 예제별 복잡도는

        Q = H x H + H x V

        워드 표현 D는 히든 레이어 H와 같은 차원. 또, HxV는 효율적으로 H x log2(V)로 줄어듬 (하이어러키컬 소프트맥스). 복잡도의 대부분은 H x H로부터 나옴.

      1. 3 패럴랠 트레이닝
      • 거대한 데이터 셋으로 모델 훈련을 위해서는, 우리는 여러개의 모델은 구현했다 (라지 스케일 분산 프레임워크에다가, 디스트빌리프라는) (피드포워드 nnlm과 이 페이퍼의 새 모델 포함) 이 프레임워크가 같은 모델을 병렬로 여러 복제를 가능하게 한다. 각각의 복제는
    • 3 뉴 로그 리니어 모델

    우리는 2개의 새 모델 아키텍처 제안 (단어 분산 표현 위한) 계산량 최소화 위한. 이전 섹션의 주요 관찰은 복잡도 대부분이 비선형 히든 레이어에 의해 발생함. 반면 이것이 뉴럴넷이 매력적이만, 단순한 모델 탐색하기로 함 (뉴럴넷처롬 전ㅇ확히 표현 못할 수도 그러나 아마 훨씬 많은 데이터 학습 효율적으로)

    새 아키텍처는 우리 앞선 연구에서 제안된 것들을 따름, 뉴럴넷 언어 모델은 성곡적으로 2단계로 학습 가능: 첫째, 연속 단어 벡터는 단순 모델로 학습되고, n-gram NNLM은 이 분산 언어 표현에서 학습됨. 나중에 상당한 작업이 있지만 (워드 백터 학습에 대한), 가장 간단한 어프로치 고려함. 관련되 모델은 훨씬 일찍 제안됨.

    3.2 연속 스킵그램 모델

    cbow와 비슷, 그러나 현재 워드를 문맥기반 추측하기보다, 단어 분류를 같은 문장내 다른 단어에 기반하여 최대화하고자 함. 더 정확하게는, 각각의 현재 단어를 로그-선형 분류자에 인풋으로 사용 (연속 프로젝션 레이어와) 현재 단어 앞뒤로 어떤 범위내의 단어를 예측. 증가하는 범위는 결과 단어 벡터의 품질을 향상하고 또한, 계산량을 증가. 더 먼 단어들은 보통 현재 단어와 적게 연관되어, 먼 단어에 더 적은 웨이트 줌 (학습 예제에서 샘플링을 적게 해서)

    학습 복잡도는 다음에 비례

    Q = C x ( D + D x log(v))

    C는 단어간 최대 거리. 만약 C=5라고 하면, 매 트레이닝 단어에 대해, 랜덤하게 R을 <1;C>에서 선택하고, R개 단어를 히스토리에서 사용, 정확한 라벨로 현재 단어 미래의 R개 단어를 사용. R x 2 단어 분류를 요구하며, 현재 단어를 인풋으로, R + R 단어 각각을 아웃풋으로.. 다음 실험에서는, 우리는 10을 사용.

    댓글

Designed by Tistory.