ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 패스트캠퍼스 챌린지 16일차
    패스트캠퍼스 환급챌린지(딥러닝 300제) 2021. 11. 16. 19:42

    오늘은 전에 했었던 'Seq2Seq`로 reuter 기사 부분을 끝마쳤다. 하나 하나씩 끝마쳐본다. 

     

    강의 내용 중 이 코드가 있다. 오늘은 이것을 중점적으로 해석 해보겠다.

    def Seq2Seq():
        inputs_x_bow = Input(shape=(200,))
        embedding = Embedding(len(index_word)+1, 120)
        x = embedding(inputs_x_bow)
        z = GRU(64)(x)
       
        y = Dense(46, activation="softmax")(z)
       
        model = Model(inputs_x_bow, y)
        model.compile(loss='categorical_crossentropy',
                      optimizer="adam", metrics=['accuracy'])
        return model

     

    먼저 shape가 (200,)을 입력으로 받아 inputs_x_bow에 할당한다. 그리고 임베딩을 정의해준다. 임베딩이란 컴퓨터는 수치 연산만 가능하기 때문에 자연어를 숫자나 벡터 형태로 변환할 필요가 있고 이런 일련 과정을 자연어 처리 분야에서는 임베딩이라 부른다. 

    단어 임베딩 공간은 전형적으로 이런 해석 가능하고 잠재적으로 유용한 수천 개의 벡터를 특성으로 가진다.

     

    Embedding 층은 적어도 2개의 매개변수를 받는다. 가능한 토큰의 개수와 임베딩 차원이다.
    Embedding 층을 (특정 단어를 나타내는) 정수 인덱스를 밀집 벡터로 매핑하는 딕셔너리로 이해하면 된다.
    정수를 입력으로 받아 내부 딕셔너리에서 이 정수에 연관된 벡터를 찾아 반환한다.

     

    Embedding 층은 크기가 (samples, sequence_length)인 2D 정수 텐서를 입력으로 받는다. 각 샘플은 정수의 시퀀스이다. 가변 길이의 시퀀스를 임베딩할 수 있다.

     

    GRU는 이전 글에서 언급했듯이 lstm보다 향상된 버전이다. 이것을 z에 할당한다. y는 46개의 카테고리 결과값이 도출되어야 하므로 46 units, 각 확률별로 나와야 하므로 softmax를 쓴다.

     

    딥러닝300제 패키지는 오로지 실습에만 치우쳐저 있다. 따라서 개념을 알려주는 강의는 없으므로 딥러닝에 대해 어느정도 아는 것을 전제로 진행이 된다. 참고하시길 바란다. 

     

     

     

     

    #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #퀴즈처럼풀면서배우는파이썬딥러닝300제+연습문제패키지Online

     

     

     

     

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

     

    패스트캠퍼스 링크 : https://bit.ly/3FVdhDa

Designed by Tistory.