전체 글
-
Tensorflow RNN 을 활용한 sarcasm분류 모델AI/Tensorflow 2020. 12. 24. 17:02
순환 신경망 (Recurrent Neural Network) RNN 을 활용한 텍스트 분류 (Text Classification) RNN이란? 입력과 출력을 시퀀스 단위로 처리하는 모델. 번역기를 생각해보면 입력은 번역하고자 하는 문장. 즉, 단어 시퀀스. 출력에 해당되는 번역된 문장 또한 단어 시퀀스. 이러한 시퀀스들을 처리하기 위해 고안된 모델들을 시퀀스 모델이라고 한다. 그 중에서도 RNN은 딥 러닝에 있어 가장 기본적인 시퀀스 모델이다. 1. 순환 신경망(Recurrent Neural Network, RNN) 앞서 배운 신경망들은 전부 은닉층에서 활성화 함수를 지난 값은 오직 출력층 방향으로만 향했습니다. 이와 같은 신경망들을 피드 포워드 신경망(Feed Forward Neural Network)..
-
Tensorflow 활성함수 activation functions카테고리 없음 2020. 12. 23. 18:23
선형함수 Dense 이외의 함수 모델링시에 선형 비선형 선형 비선형으로 모델링을 하게되는데 선형함수안에 activation='relu' 이런 식으로 정의를 해서 코드를 단순화 할 수 있다. Module: tf.keras.activations Functions deserialize(...): Returns activation function given a string identifier. 문자열 식별자를 받은 활성화 함수를 반환합니다. elu(...): Exponential Linear Unit. 지수 선형 단위. exponential(...): Exponential activation function. 지수 활성화 기능. gelu(...): Applies the Gaussian error linear u..
-
Tensorflow 과대적합과 과소적합AI/Tensorflow 2020. 12. 23. 17:36
과대 적합(over-fitting) 과 과소 적합(under-fitting) 과대 적합 : 모델이 너무 과하게 적합하다. 샘플에 대해서는 100%일지 모르지만 예측율이 떨어지게된다. 과소 적합 : 모델이 너무 맞지 않는다. 샘플에 대해서도 정확도가 떨어지고 예측율또한 떨어지게된다. Appropriate-fitting을 찾는 것이 목표라고 할 수 있다. 아래 그림은 선형예측과 분류에서의 과적합 예제를 보여주고 있다. 과적합 방지를 위해서 전체 데이터중에서 보통 8:2의 비율로 나누어서 8이 학습용(train) 2를 검증용(validation)으로 사용한다. 파란선이 학습그래프이고 주황색이 검증그래프이다. 학습 횟수에 따라서 증감을 보여주는데 Loss에서 검증과 학습이 교차하는 부분이 최고의 모델이다. 과대..
-
Tensorflow 자격증 1번 문제 모델AI/Tensorflow 2020. 12. 23. 17:06
데이터 전처리는 따로 없다. 매번 바뀌지만 데이터를 정의 해준다. Dense 와 Sequential 를 import를 해준다. model 생성중 input_shape값은 tuple이 와야하므로 input_shape = [1] or input_shape =(1.) 으로 한다. input값이 1일 경우 input_shape = 1이다. #학습 데이터 셋팅 celsius_q = np.array([-40, -10, 0, 8, 15, 22, 38]) fahrenheit_a = np.array([-40, 14, 32, 46, 59, 72, 100]) 이렇게 데이터가 주어졌을때 모델링은 다음과 같이 간단히 해주면 된다. model = tf.keras.Sequential([ tf.keras.layers.Dense(un..
-
Tensorflow Dense LayerAI/Tensorflow 2020. 12. 23. 16:44
Dense Layer(Fully Connected Layer) , FC라고 논문에서 많이 사용한다. node와 node들이 완전하게 연결되어있다. (Fully Connected) hidden layer = node(Neuron) = W(weight) * X(입력값) output layer = weight(가중치) 위 그림은 4층의 layer로 구성되어 있다. input layer에서는 input_shape를 지정해야한다. 각 layer는 input 값을 알고 있는데 input layer에서는 모르기 때문이다. 위 모델을 코드로 바꾸면 아래와 같다. model = Sequential([ Dense(3, input_shape=[1]), Dense(4), Dense(4), Dense(1), ]) 각 layer..