본문 바로가기
  • 데이터에 가치를 더하다, 서영석입니다.

공부하는 습관을 들이자/Deep Learning (NLP,LLM)22

딥러닝을 이용한 자연어처리 입문 #12 딥러닝을 이용한 자연어처리 입문 #12 10) 엘모 10) 엘모 (Embeddings from Language Model, ELMo) 언어 모델로 하는 임베딩 특징 : 사전 훈련된 언어 모델 사용 1. ELMo(Embeddings from Language Model) ex) Word2Vec 이나 GloVe 등의 임베딩 방법론으로 bank 라는 단어를 [0.2 0.8 -1.2]라는 임베딩 벡터로 임베딩 하였다고 가정 이 단어는 bank account & river bank 에서의 bank는 전혀 다른 의미임에도 불구하고 모두 같은 벡터 사용 ⇒ 같은 표기의 단어라도 문맥에 따라 다른 워드 임베딩 → 자연어 처리의 성능 상승 ⇒ 워드 임베딩 시 문맥을 고려해서 임베딩 하겠다는 아이디어 : 문맥을 반영한 워드.. 2024. 1. 3.
[딥러닝 자연어처리] 11. 8) 사전 훈련된 워드 임베딩 ~ 09) 사전 훈련된 워드 임베딩 사용하기 딥러닝을 이용한 자연어처리 입문 #11 8) 사전 훈련된 워드 임베딩 ~ 09) 사전 훈련된 워드 임베딩 (Pre-Trained Word Embedding) 사용하기 08) 사전 훈련된 워드 임베딩 (Pre-trained Word Embedding) 1. 케라스 임베딩 층 (Keras Embedding Layer) 케라스 : 훈련 데이터의 단어들에 대해 워드 임베딩을 수행하는 도구 Embedding() 제공 Embedding() : 인공 신경망 구조 관점에서 임베딩 층 구현 1) 임베딩 층은 룩업 테이블이다. 어떤 단어 → 단어에 부여된 고유한 정수값 → 임베딩 층 통과 → 밀집 벡터 ex) 영단어 : great 임베딩 차원 : 4로 설정 great은 정수 인코딩 과정에서 1,918의 정수로 인코딩 되었.. 2024. 1. 2.
[딥러닝 자연어처리] 10. (1) 워드 임베딩 ~ 7) 자모 단위 한국어 fast text 학습하기 딥러닝을 이용한 자연어처리 입문 #10. (1) 워드 임베딩 ~ 7) 자모 단위 한국어 fast text 학습하기 (1) 워드 임베딩 밀집 표현(Dense Representation) 밀집 표현은 벡터의 차원을 단어 집합의 크기로 상정하지 않음 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춤 Ex) 강아지 = [ 0 0 0 0 1 0 0 0 0 0 0 0 ... 중략 ... 0] 밀집 표현을 사용하고, 사용자가 밀집 표현의 차원을 128로 설정한다면 강아지 = [0.2 1.8 1.1 -2.1 1.1 2.8 ... 중략 ...] → 벡터의 차원이 조밀해졌다고 해서 밀집 벡터 워드 임베딩(Word Embedding) 단어를 밀집 벡터(dense vector)의 형태로 표현하는 방법을 워드 임베딩.. 2024. 1. 1.
[딥러닝 자연어처리] 9-3. (08) 케라스의 SimpleRNN과 LSTM 이해하기- (11) 문자 단위 RNN 딥러닝을 이용한 자연어처리 입문 #9-3. (08) 케라스의 SimpleRNN과 LSTM 이해하기 -(11) 문자 단위 RNN (08) 케라스의 SimpleRNN과 LSTM 이해하기 1 SimpleRNN 이해하기 rnn - SimpleRNN (3) # rnn = SimpleRNN (3, return_sequences-False, return_state=False) hidden_state= rnn(train_X) print('hidden state: {}, shape: {}'.format(hidden_state, hidden_state.shape)) # 출력값 : hidden state: [[-0.866719 0.95010996 -0.99262357]], shape: (1, 3) 마지막 시점의 은닉 상태 .. 2023. 12. 28.
[딥러닝 자연어처리] 9-2. (05) 양방향 순환 신경망 - (07) 게이트 순환 유닛 딥러닝을 이용한 자연어처리 입문 #9-2. (05) 양방향 순환 신경망 -(07) 게이트 순환 유닛 이전과 이후의 시점 모두를 고려해서 현재 시점의 예측을 더욱 정확하게 할 수 있도록 고안된 방법 첫번째 메모리 셀 : 앞 시점의 은닉 상태를 전달받아 현재의 은닉 상태를 계산함 두번째 메모리 셀 : 뒤 시점의 은닉 상태를 전달받아 현재의 은닉 상태를 계산함 [은닉층이 1개 더 추가된 양방향 순환 신경망] from tensorflow.keras.models import Bidirectional timesteps = 10 input_ dim = 5 model = Sequential() model.wooddidirectional(Simgle9300filsden_its, return_sequences=True),.. 2023. 12. 26.
[딥러닝 자연어처리] 9-1. (01) 순환 신경망 (Recurrent Neural Network) 딥러닝을 이용한 자연어처리 입문 #9-1. (01) 순환 신경망 (1) 순환 신경망 (Recurrent Neural Network) 피드포워드 신경망의 한계점: 입력의 길이가 고정되어 있음 이를 해결하기 위한 방법으로 순환 신경망이 사용됨 RNN: 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서, 다시 은닉층 노드의 다음 계산의 입력으로 보냄 셀(cell): RNN 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드 은닉 상태(hidden state): 메모리 셀이 출력층 방향 또는 다음 시점인 자신에게 보내는 값 (2) 케라스(Keras)로 RNN 구현하기 from tensorflow.keras.layers import SimpleRNN model.add(Si.. 2023. 12. 25.