본문 바로가기

TensorFlow9

[Tensorflow] CNN - Fully Connected(Dense) Layer Fully Connected Layer = Dense Layer 완전 연결층(전결합층) : "완전 연결 되었다" 결과에 수렴하는 중간 역할, 완충역할 ① 그림과 같이 Max pooling까지 한 결과(pooling으로 나온 입체로 되어 있는 결과값)를 일렬로 벡터처럼 쭉 펴준다. ② 그것을 전부 다 연결하여 Fully Connect 해서 한 줄로 만들어준다. (Dense와 비슷함) ③ N개의 출력을 내보낸다. (예를 들어서 위의 그림처럼 만약 고양이와 개를 구분하는 네트워크라면 5와 1로 2개의 결과값 내보냄) ④ 그 출력값을 softmax 통과시키면 확률이 나온다. (고양이일 확률 0.98, 개일 확률 0.02 ) ※ 위 그림은 한 개의 layer만 그렸지만, 여러 개의 layer 쌓아서 구성할 수도 .. 2022. 2. 15.
[Tensorflow] CNN - MNIST 실습 1 앞에서 공부한 convolution 연산과 pooling을 각각 연결해 볼 것이다. 이때 MNIST DATA를 사용할 것이다. MNIST DATA BASE (Modified National Institute of Standardas and Technology) ① 필요한 라이브러리를 import 해준다. import tensorflow as tf import numpy as np from tensorflow import keras import matplotlib.pyplot as plt ② MNIST 데이터 불러오기 mnist= tf.keras.datasets.mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data(.. 2022. 2. 6.
[Tensorflow] CNN - Pooling Layer 그동안 convolution 연산에 대해 알아보았는데, CNN의 기본적인 연산 중 또 하나인, pooling 연산에 대해 알아보자. Pooling - 이미지 특징 강화 - Max Pooling (최대풀링) : 가장 큰 값을 뽑아냄 - Average Pooling (평균풀링) : 값들의 평균을 뽑아냄 Max Pooling 더 많이 사용 -> convolution 연산의 결과로 나온 feature map이기 때문에 값이 클 수록 의도하고자 한 특징에 가까운 것이기 때문이다. (필터가 찾으려고 하는 특징에 가까우면 가까울수록 큰 숫자를 결과로 출력 함..) * pooling 하는 이유 ? 입력 데이터가 이미지의 특징 데이터이므로, 특징을 강화하는 목적 합성곱 계층의 overfitting(과적합) 방지 이미지의.. 2022. 1. 31.
[Tensorflow] CNN - Convolution 연산 코드 실습 2 앞에서는 필터 1개만 사용하여 실습을 하였는데, 이번에는 필터 여러 개를 사용하여 convolution 연산을 하였을 때, 결과가 어떻게 나오는지 확인해보자. ※ 코드 실습 ※ - 3 Filters (2,2,1,3) 사용 ① 필요한 라이브러리를 import 해준다. import numpy as np import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt ② 3 x 3 이미지 생성 image = np.array([[[[1],[2],[3]], [[4],[5],[6]], [[7],[8],[9]]]], dtype=np.float32) ③ 3개의 필터 생성 weight = np.array([[[[1.,10.,-1.]].. 2022. 1. 31.