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

케라스5

[딥러닝 자연어처리] 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-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-5. (6) 기울기 소실과 폭주 - 07) 케라스 훑어보기 딥러닝을 이용한 자연어처리 입문 #8-5. (6) 기울기 소실과 폭주 - 07) 케라스 훑어보기 6. 기울기 소실(Gradient Vanishing)과 폭주(Exploding) 기울기 소실 : 역전파 과정에서 입력층으로 갈수록 기울기가 점차적으로 작아지는 현상 ⇒ 입력층에 가까운 층들에서 가중치들이 업데이트가 제대로 되지 않음 기울기 폭주 : 기울기가 점차 커져 가중치들이 비정상적으로 큰 값이 되는 현상 1) ReLU와 ReLU의 변형들 시그모이드 함수를 사용할 때 0 또는 1에 수렴하면서 기울기가 0에 가까워짐 → 기울기 소실 ⇒ 은닉층의 활성화 함수로 ReLU 나 Leaky ReLU를 사용 2) 그래디언트 클리핑(Gradient Clipping) 기울기 폭주를 막기 위해 임계값을 넘지 않도록 값을 감.. 2023. 12. 20.