일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩 테스트
- BFS
- CSS
- 구글 킥스타트
- 순열
- 동적프로그래밍
- 백준
- 리눅스
- 코딩테스트
- kick start
- 파이썬
- 딥러닝
- nlp
- PYTHON
- google coding competition
- AI
- linux
- 프로그래머스
- 운영체제
- 그래프
- 브루트포스
- OS
- 동적 프로그래밍
- dp
- 프로그래밍
- DFS
- 코딩
- 네트워크
- 킥스타트
- 알고리즘
- Today
- Total
목록deeplearning (7)
오뚝이개발자

- 딥러닝이란 층을 깊게 한 신경망 데이터 확장(data augmentation) - 입력 이미지(훈련 이미지)를 알고리즘을 동원해 '인위적'으로 확장한 것 - 데이터가 적을 때 효과적인 수단 - 간단하지만 정확도 개선에 효과적 - 회전, 이동에 의한 변형 - 이미지 일부를 잘라내는 crop - 좌우를 뒤집는 flip - 크기변화(scale), 밝기수정 등. 층을 깊게 하는 것의 이점 - ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 대규모 이미지 인식 대회에서 최근 상위를 차지한 기법 대부분은 딥러닝 기반이며 그 경향은 신경망을 더 깊게 만드는 방향으로 가고 있다.(층의 깊이에 비례해 정확도가 좋아진다.) - 깊은 신경망은 그렇지 않은 경우보다 ..

합성곱 신경망 CNN은 Convolutional Neural Network의 약자이다. 이미지 인식과 음성 인식 등 다양한 곳에서 활용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 CNN을 기초로 한다. CNN의 구조 - 완전연결 신경망(fully-conected) : 인접하는 계층의 모든 뉴련과 결합 - 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현 - CNN : 합성곱 계층(Conv)과 풀링 계층(Pooling)이 추가됨. - Conv -> ReLU -> (Pooling) 흐름으로 연결(Pooling은 생략되기도 함) - 지금까지의 Affine -> ReLU 연결이 Conv -> ReLU -> Pooling으로 바뀌었다고 생각하면 쉽다. - 마지막 출력 계층에선 Affi..

매개변수 갱신 신경망 학습의 목적은 손실함수의 값을 최대한 낮추는 매개변수를 찾는 것이었다. 이는 바로 최적의 매개변수를 찾는 최적화 문제이다. 앞 장에서 다루었던 매개변수의 기울기(미분)를 이용해 갱신하는 방식을 확률적 경사 하강법(SGD)라 한다. 최적화 방법에는 SGD말고도 모멘텀, AdaGrad, Adam 이라는 다른 방법들이 존재한다. (아래의 코드는 SGD를 구현한 것.) class SGD: def __init__(self, lr=0.01): self.lr = lr def update(self, params, grads): for key in params.keys(): params[key] -= self.lr * grads[key] GD와 SGD의 차이에 대해 조금 더 정확히 말하자면, SGD..

오차역전파법(backpropagation) 이전까진 신경망의 학습에서 가중치 매개변수의 기울기를 수치미분을 사용해 구했다. 수치미분은 단순해서 구현이 쉽지만 계산이 오래 걸린다는 단점이 있다. 오차역전파법은 이러한 단점을 개선해 가중치 매개변수의 기울기를 효율적으로 계산하도록 도와준다. 오차 역전파법을 이해하기 위해 먼저 그래프로 나타낸 계산 그래프를 살펴보자. 계산 그래프 문제 : 슈퍼에서 사과 2개, 귤 3개를 샀다. 사과와 귤을 개당 100원, 150원이다. 소비세가 10%일 때 지불금액은? 위의 문제를 계산 그래프로 나타내보면 아래와 같다. 위의 계산그래프의 흐름은 왼쪽에서 오른쪽이다. 이러한 방향의 진행을 순전파(forward propagation), 반대 방향의 진행을 역전파(backward ..

손실함수란? 신경망이 최적의 매개변수를 탐색해 학습할 수 있도록 해주는 지표 데이터 주도 학습 기계학습은 데이터가 생명이다. 데이터에서 답을 찾고, 특징을 추출해 패턴을 발견하는 방식. 신경망의 이점 모든 문제를 같은 맥락에서 풀 수 있다. EX) 손글씨로부터 숫자 5를 인식하는 문제, '개'를 인식하는 문제 등. Training data, Test data training data : 최적의 매개변수를 찾기 위한 '학습'에 이용 test data : 학습한 모델의 '평가'에 이용 두 개를 나누는 이유 : 범용능력을 제대로 평가하기 위해 범용능력이란? 아직 보지 못한 데이터로도 문제를 올바르게 풀어내는 능력으로 기계학습의 최종 목표 손실함수 예시 1. 평균제곱오차(Mean Square Error, MSE..

신경망이 퍼셉트론과 다른 점 퍼셉트론에선 가중치 매개변수의 값을 사람이 직접 입력해주었지만 신경망에선 학습을 통해 가중치 매개변수의 값을 데이터로부터 자동으로 학습 신경망의 구조 편향을 명시한 신경망 편향(bias)의 입력신호는 항상 1이다. 활성화 함수(activation function)의 등장 활성화 함수는 입력신호의 총합이 활성화를 일으키는지를 결정하며 퍼셉트론에서 신경망으로 가는 열쇠이다. 위의 그림과 아래의 그림을 비교해보면 다음층으로 가기전 입력신호의 총합이 h()라는 함수를 거쳐가는 것을 알 수 있다. 이것이 활성화 함수이다. 이를 수식으로 나타내보면 다음과 같다. (이 예시에서는 활성화함수를 step function이라 가정함.) 활성화 함수의 종류 1. 계단함수(step function..

퍼셉트론(Perceptron)이란? 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 알고리즘으로 신경망(딥러닝)의 기원이다. 위의 그림에서 원을 '노드(뉴런)'이라고, w1과 w2를 가중치라고 부른다. 위의 퍼셉트론을 수식으로 나타내면 다음과 같다. 즉, w1x2 + w2x2의 값이 세타보다 작거나 같으면 0을, 크면 1을 출력한다. 이 때, 세타를 임계값이라 한다. 다시말하면, 신호의 총합이 임계값을 넘을 때만 1을 출력하는데 이를 "뉴런이 활성화"되었다고 한다. 가중치는 각 신호가 결과에 주는 영향력을 조절하는 역할을 한다. 기계학습이란? 기계학습에서 '학습'이란 위와 같은 퍼셉트론의 적절한 매개변수 값을 컴퓨터가 자동으로 정하게 하는 것을 말한다. 그렇다면 사람이 하는 일은 무엇일까? 바로 구조..