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

머신러닝30

[딥러닝 자연어처리] 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.
[딥러닝 자연어처리] 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.
[딥러닝 자연어처리] 8-6. (08) 케라스의 함수형 API - (10)다층 퍼셉트론으로 텍스트 분류하기 딥러닝을 이용한 자연어처리 입문 #8-6. (08) 케라스의 함수형 API(Keras Functional API) - (10)다층 퍼셉트론으로 텍스트 분류하기 08) 케라스의 함수형 API(Keras Functional API) Sequential API는 복잡한 모델을 만드는데 한계가 있음 functional API는 입력의 크기(shape)를 명시한 입력층(Input layer)을 모델의 앞단에 정의 1.전결합 피드 포워드 신경망(Fully-connected FFNN) from tensorflow.keras.layers import Input, Dense from tensorflow.keras.models import Model inputs = Input(shape=(10,)) #10개의 입력을 받는.. 2023. 12. 22.
[딥러닝 자연어처리] 8-4. (4.) 역전파 이해하기 - (5) 과적합을 막는 방법들 딥러닝을 이용한 자연어처리 입문 # 8-4. (4.3) 역전파 이해하기 - (5) 과적합을 막는 방법들 4.3 역전파 이해하기 1) 인공 신경망의 이해 예시 인공 신경망 = 입력층, 은닉층, 출력층으로 3개의 층으로 구성 변수 z = 이전층의 모든 입력이 각각 가중치와 곱해지 값이 모두 더해진 가정합. z를 지난 h or o = z가 시그모이드 함수를 지난 후의 값 2) 순전파 3) 역전파 1단계 출력층과 N층 사이의 가중치를 업데이트하는 단계 → 역전파 1단계로 이해가능 4) 역전파 2단계 5) 결과 확인 이후 실제로 순전파를 다시 한 번 진행해 오차가 감소되었는 지를 확인 5. 과적합을 막는 방법들 1) 데이터의 양 늘리기 1차원적으로 데이터 양을 늘릴 수록 데이터는 일반적인 패턴을 학습하기 때문에 .. 2023. 12. 19.