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

자연어처리10

[딥러닝 자연어처리] 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-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. 1) 퍼셉트론 ~ 2) 2. 인공 신경망 훑어보기 딥러닝을 이용한 자연어처리 입문 # 8. 1) 퍼셉트론 ~ 5) 인공 신경망 훑어보기 1. 퍼셉트론 가중치의 값이 크면 해당 입력값이 중요하다고 의미하고, 각 입력값에 각각의 가중치를 곱해줘서 y로 출력해주는 것 if sum(xiwi) > 임계치 → y = 1, 작은 경우 0으로 출력. 임계치를 좌변으로 넘겨 편향 b로 표현도 가능. b또한 퍼셉트론 입력으로 사용 이런 식으로 값을 넘게 되면 y를 1, 아니면 0으로 이해한다. 출력값을 변경시키는 함수 → 활성화 함수 퍼셉트론은 이를 계단 함수로 用, 이후엔 다양한 활성화 함수 이용됨. 시그모이드 or 소프트맥수 함수 또한 이의 일부분. 퍼셉트론에서 활성화 함수만 시그모이드 함수로 바꿔주면 로지스틱 회귀랑 동일해지는 것을 알 수 있음 단층 퍼셉트론 값을 .. 2023. 12. 14.
[딥러닝 자연어처리] 7. 머신 러닝 개요 7) ~ 9) 딥러닝을 이용한 자연어처리 입문 # 7. 머신 러닝 개요 7) ~ 9) 7) 다중 입력에 대한 실습 크로스 엔트로피 함수를 이용해서 이를 이용해 가중치를 찾고, 가중치는 크로스 엔트로피 함수의 평균을 이용한 방식으로 사용. 크로스 엔트로피 함수는 소프트맥스 회귀의 비용 함수 import numpy as np from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras import optimizers # 중간 고사, 기말 고사, 가산점 점수 X = np.array([[70,85,11], [71,89,18], [50,80,20], [99,20,10], [50,10,10]].. 2023. 12. 13.
[딥러닝 자연어처리] 5. 벡터의 유사도 딥러닝을 이용한 자연어처리 입문 # 5. 벡터의 유사도 벡터의 유사도란? 문장과 문서의 유사도 인간: 문서들 간에 동일한 단어가 얼마나 공통적으로 사용되었는지 기계: 문서의 단어들을 어떤 방법으로 수치화하여 표현했는지 (ex: DTM, Word2Vec), 문서간의 단어들의 차이를 어떤 방법으로 계산했는지 (ex: Euclidean distance, Cosine similarity) 1) 코사인 유사도 정의: 두 벡터간의 코사인 각도를 이용하여 구할 수 있는 벡터의 유사도 코사인 유사도는 -1에서 1사이의 값을 가짐 두 벡터의 방향이 동일할 경우: 1 두 벡터의 방향이 180도로 반대일 경우: -1 1에 가까울수록 유사도가 높다고 판단 2) 코사인 유사도 식 코사인 유사도의 장점 예시 > 문서1 : 저는 .. 2023. 12. 6.