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

딥러닝25

[딥러닝 자연어처리] 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.
[딥러닝 자연어처리] 8-3. (4) 딥러닝의 학습 방법 딥러닝을 이용한 자연어처리 입문 # 8-3. 4) 딥러닝의 학습 방법 1. 손실 함수 실제값, 예측값의 차이를 수치화해주는 함수. 오차와 손실 함수의 값은 비례 회귀 = MSE, 분류 = 크로스 엔트로피를 주로 이용. 1 ) MSE 연속형 변수를 이용할 때 이용 model.compile(optimizer='adam', loss='mse', metrics=['mse']) #loss에 문자열 mse을 써주면 돼. model.compile(optimizer='adam', loss=tf.keras.losses.MeanSquaredError(), metrics=['mse']) #이런 식으로 표현도 ok. #하지만 딥러닝 자연어 자체가 일반적으로 분류 문제이기 때문에 MSE보단 Cross-entropy를 더 많게 .. 2023. 12. 18.
[딥러닝 자연어처리] 8-2. (3). 행렬곱으로 이해하는 신경망 딥러닝을 이용한 자연어처리 입문 # 8-2. (3). 행렬곱으로 이해하는 신경망 1. 순전파 입력값 → 입력층, 은닉층 지나며 각 층에서의 가중치로 연산돼 출력층으로 향해 → 예측값 추출. 2. 행렬곱으로 순전파 이해하기 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense model = Sequential() # 3개의 입력과 2개의 출력 model.add(Dense(2, input_dim=3, activation='softmax')) model.summary() Model: "sequential" ________________________________________________________.. 2023. 12. 15.
[딥러닝 자연어처리] 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.
[딥러닝 자연어처리] 7. 머신 러닝 개요 1) ~ 3) 딥러닝을 이용한 자연어처리 입문 # 7. 머신 러닝 개요 1) ~ 3) 1) 머신러닝이란 해결을 위한 접근 방식이 기존의 프로그래밍 방식과는 다름 머신 러닝은 데이터가 주어지면, 기계가 스스로 데이터로부터 규칙성을 찾는 것에 집중함 주어진 데이터로부터 규칙성을 찾는 과정을 훈련(training)또는 학습(learning)이라고 함 2) 머신 러닝 훑어보기 1. 머신 러닝 모델의 평가 학습하기 전에 데이터를 훈련용, 검증용, 테스트용 이렇게 세 가지로 분리함 훈련데이터: 머신 러닝 모델을 학습하는 용도 테스트데이터: 학습한 머신 러닝 모델의 성능을 평가하기 위한 용도 검증용데이터: 모델의 성능을 조정하기 위한 용도 → 모델이 훈련 데이터에 과적합이 되고 있는지 판단하거나 하이퍼파라미터의 조정을 위한 용도 .. 2023. 12. 11.