본문 바로가기

분류 전체보기

(106)
[딥러닝DL]합성곱신경망(CNN)을 이용한 이미지 분류 합성곱신경망(CNN) 🐸 합성곱신경망(CNN, Convolutional Neural Network) - 이미지 분석에 주로 사용되는 대표적 계층 - 기존의 인공신경망에서의 이미지 분석시에는 높이와 너비를 곱한 1차원을 사용하였다면, - CNN은 원형 그대로의 높이와 너비 차원을 사용함 - 전체 4차원(행, 높이, 너비, 채널)의 데이터를 사용함 - 기존 이미지 분석 시 높이와 너비를 곱하여 사용하다보면, * 원형 그대로의 주변 이미지 공간 정보를 활용하지 못하는 단점이 있으며, * 이러한 이유로 특징 추출을 잘 못하여, 학습이 잘 이루어지지 않는 경우가 발생함 - 이러한 기존 인공신경망 모델의 단점을 보완하여 만들어진 모델이 CNN임 * 원형 형태의 이미지 정보를 그대로 유지한 상태로 학습 가능하도록 만..
[딥러닝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) """..