본문 바로가기

인공지능/딥러닝

(17)
[딥러닝DL] RNN응용 규칙기반 챗봇 라이브러리 정의 🐸 import tensorflow as tf """단어사전 만들기""" from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences 규칙기반 데이터 정의하기 (질문/답변) 🐸 questions = [ "전기요금 어때?", "안녕하세요", "너 이름이 뭐니?", "어떻게 지내세요?", "프랑스의 수도는 어디인가요?", "뭐 해?", "오늘 날씨 어때?", "좋아하는 음식은 뭐에요?", "무슨 일을 좋아해요?", "가장 좋아하는 색깔은 무엇인가요?", "가장 기억에 남는 여행은 어디에요?", "주말에는 뭐하고 시간을 보내나요?", ..
[딥러닝DL] 순환신경망(RNN) - 장기기억 순환신경망(LSTM), 게이트웨이 반복 순환신경망(GRU) 순환신경망 🐸 순환신경망(Recurrent Neural Network, RNN) - RNN은 텍스트 처리를 위해 고안된 모델(계층) - 바로 이전의 데이터(텍스트)를 재사용하는 신경망 계층임 (이전의 기억을 가지고 있다☆) EX) 챗봇, 은행 카카오톡 서비스 순환신경망 종류 - 심플 순환신경망(Simple RNN) - 장기기억 순환신경망(LSTM) - 게이트웨이 반복 순환신경망(GRU) simple RNN 단점 - 긴 문장(시퀀스)을 학습하기 어려움 - 시퀀스가 길 수록 초반의 정보는 점진적으로 희석(소멸) 됨 즉, 멀리 떨어져 있는 단어의 정보를 인식하는데 어려움이 있음 - 이러한 단점을 보완한 모델이 LSTM과 GRU LSTM(Long Short-Term Memory, 장기기억) - 단기기억을 오래 ..
[딥러닝DL] DNN 분류데이터사용 - 입력계층의 출력크기 64 - 은닉계층의 출력크기 32 - 나머지는? - 콜백함수 모두 적용 - 옵티마이저 모두 적용 후 가장 좋은 성능일 때 옵티마이저 확인해 보기 - 정밀도, 재현율, f1-score, confusion_matrix 출력 실습해보기 - 내코드 🐥 import pandas as pd import numpy as np import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import seaborn as sns """한글처리""" plt.rc("font", family = "Malgun Gothic") """마이너스 기호 처리""" plt.rcParams["axes...
[딥러닝DL] DNN 회귀데이터 사용 데이터 가져오기 🐥 """라이브러리 정의""" import pandas as pd """ - 데이터프레임 변수 : data - 데이터 읽어들이기 """ data = pd.read_csv("./data/01_회귀_OOOO예측_데이터셋_Row_1000.csv") data.head(1) data.info() data.describe() """독립변수(X)와 종속변수(y)로 분리하기""" X = data.iloc[:, :-1] y = data["OOOO"] print(X, y) X.shape, y.shape """ 정규화 하기 - X_scaled 변수명 사용 """ from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler...
[딥러닝DL] 심층신경망 훈련 및 성능향상2 - 성능규제(Dropout), 모델 저장 및 불러오기, 콜백함수(ModelCheckpoint, EarlyStopping) 심층신경망 실습🦄 - 새로운 모델 생성 : model20 변수명 사용 - epoch 20번 반복 수행 - 프로그래스바가 보이도록 훈련시 출력하기 - 손실 및 정확도 곡선 각각 그려주세요~ * 함수 정의 def model_fn(a_layer = None): """모델 생성""" model = keras.Sequential() """입력층(1차원 전처리계층) 추가""" model.add(keras.layers.Flatten(input_shape = (28,28))) """100개의 출력을 담당하는 은닉계층 추가, 활성화 함수 relu""" model.add(keras.layers.Dense(100, activation="relu")) """추가할 은닉계층이 있는 경우만 실행됨""" if a_layer: mo..
[딥러닝DL] 심층신경망(DNN) 훈련 및 성능향상 - verbose, epoch, history, 시각화 목차 1. 라이브러리 정의 2. 데이터 수집 및 정규화 3. 심층신경망(Deep Neural Network, DNN) 4. 훈련 출력방법 지정 5. 모델 추가 정보 6. 시각화 하기 사용할 라이브러리 정의🦄 import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split """실행 결과를 동일하게 하기 위한 처리(완전 동일하지 않을 수도 있음)""" tf.keras.utils.set_random_seed(42) """연산 고정""" tf.config.experimental.enable_op_..
[딥러닝] 신경망계층 추가방법 및 성능향상방법 - 옵티마이저 목차 1. 신경망모델에 계층(layer) 추가하는 방법 2. 성능 향상 방법 3. 옵티마이저(Optimizer) - SGD(확률적 경사하강법), Adagrad, RMSProp, Adam - 학습률 - 모멘텀 fashion_mnist 데이터로 독립변수와 종속변수 읽어들이기 라이브러리 import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split """실행 결과를 동일하게 하기 위한 처리(완전 동일하지 않을 수도 있음)""" tf.keras.utils.set_random_seed(42) """..
[딥러닝] 인공신경망 훈련모델 맛보기 딥러닝 라이브러리 * tensorflow는 프레임워크라고 함 * 텐서플로우 안에 keras가 딥러닝 내용을 가지고 있음 * keras는 딥러닝 모델을 쉽게 정의하고 훈련시키기 위한 고수준 API를 제공하는 인기 있는 딥러닝 라이브러리 import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np - 실행 결과를 동일하게 하기 위한 처리(완전 동일하지 않을 수도 있음) tf.keras.utils.set_random_seed(42) - 연산 고정 tf.config.experimental.enable_op_determinism() 데이터 수집 * keras에서 제공해주는 이미지 데이터셋 ..