일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- shell
- 회귀
- 운영체제
- CV
- C언어
- Computer Vision
- 코딩
- 쉘
- linux
- 리눅스
- 백준알고리즘
- 공부
- 학습
- 알고리즘
- 프로그래밍
- Windows10
- Windows 10
- OpenCV
- c
- TensorFlow
- 영상처리
- 시스템프로그래밍
- 딥러닝
- python
- error
- 프로세스
- 턱걸이
- C++
- 텐서플로우
- Today
- Total
목록신경망 (3)
줘이리의 인생적기

이번에는 특징 추출(Feature Extraction) 기법 중 하나인 컨볼루션 신경망 CNN(Convolutional Neural Network)에 대해 공부해보도록 하겠습니다. 데이터셋에는 특징들이 있습니다. 앞서 공부했던 보스턴 주택 가격 데이터셋에는 범죄율, 주택당 방의 수, 고속도로 접근성, 학생/교사 비율 등과 같은 특징들이 있었고, 와인 데이터셋에는 당도, 품질, 도수 등의 특징들이 있었습니다. 하지만 Fashion MNIST와 같은 이미지 데이터는 특징을 스스로 찾아야 합니다. 결론부터 말씀드리자면, 컨볼루션 신경망은 네트워크가 특징을 추출하는 필터를 자동으로 생성합니다. 필터가 무엇이냐? 컨볼루션 연산은 필터(filter) 또는 커널(kernel)이라는 작은 행렬을 통해 픽셀들을 본래 픽..

AND 연산에 이어 OR 연산 뉴런을 만들어 보겠습니다. 뉴런 계산식도 AND 연산과 동일합니다. AND 연산과 다른점은 출력 y가 바뀌었죠. import tensorflow as tf import math import numpy as np def sigmoid(x): return 1 / (1 + math.exp(-x)) x = np.array([[1,1], [1,0], [0,1], [0,0]]) y = np.array([[1], [1], [1], [0]]) # 참 참 참 거짓 w = tf.random.normal([2], 0, 1) b = tf.random.normal([1], 0, 1) for i in range(2000): error_sum = 0 for j in range(4): output = ..

뉴런은 신경망의 가장 기본적인 구성요소입니다. 뉴런은 입력을 받아 계산 후 출력을 반환하는 구조입니다. 뉴런들이 여러개 모여 구성한 것을 레이어라고 합니다. 뉴런의 구성요소로는 입력, 가중치, 활성화 함수, 출력으로 구성되어 있습니다. 위처럼 가장 간단한 형태의 뉴런은 입력에 가중치를 곱한 뒤 활성화 함수를 취하는 것입니다. 가중치는 처음에 초기화를 통해 랜덤 값이 들어가게 되며, 학습하며 가중치만 변하게 됩니다. 학습이 잘 된다는 것은 원하는 출력에 가까운 값을 얻는 가중치를 얻게 되는 것입니다. 활성화 함수로는 주로 sigmoid, ReLU 함수들을 씁니다. sigmoid는 S자 형태의 곡선이라는 뜻이고, ReLU는 정류된 선형 함수(Rectified Linear Unit)라는 뜻입니다.