일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Router
- RDT
- GPIO
- 운영체제
- Switch
- file descriptors
- function call
- Interrupt
- Generalized forward
- 리눅스
- 인터럽트
- 디바이스 드라이버
- 신경망 첫걸음
- LED 제어
- demultiplexing
- 펌웨어
- Transport layer
- 스위치
- 3분 딥러닝
- Linux
- TensorFlow
- LED
- 텐서플로우
- 모두를 위한 딥러닝]
- 모두를 위한 딥러닝
- Class Activation Map
- 딥러닝
- 밑바닥부터 시작하는 딥러닝
- Network layer
- 신경망
- Today
- Total
목록공부 기록 (63)
건조젤리의 저장소
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 위와 같은 language 모델을 구현해보자. RNN cell을 생성할때 원하는 종류를 선택할 수 있다. cell을 생성하였으면 cell을 동작시키는 코드가 필요하다. 총 5개의 문자로 이루어진 단어이므로 hidden size는 5로 설정한다. 마찬가지로 input_dim또한 5로 설정한다. 하나의 단어만 학습할 것 이기 때문에 batch 크기는 1로 설정한다. 단어에서 마지막 부분은 들어갈 필요가 없으므로 6으로 설정한다. one_hot 형식으로 데이터를 만든다. * x_data는 여기서 아직 쓰이지 않음 (다음장 참고) cell을 생..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io Tensorflow에서 RNN을 사용하기 위해서는 1. Cell을 만듬 (출력크기 정하기) 2. 셀을 구동시켜 출력하기 (cell과 입력 데이터를 넣음, output: 출력 / _states: 마지막 상태값) 셀의 종류는 다양하고 우리가 원하는 셀을 선택하여 선언하면 된다. hidden_size는 출력값의 크기를 나타낸다. 하나의 입력값을 넣어 출력한 결과이다. hidden_size의 값과 출력값의 크기가 동일하다. 5개의 sequence를 가진 데이터를 입력하면 출력되는 결과이다. 배치 처리도 입력 데이터만 수정하면 되기 때문에 간단하다.
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 하나의 단어로는 문맥을 파악할 수 없다. 이전 단어와의 조합을 통해 우리는 문장이 의미하는 바를 알 수 있다. 연속적인 데이터들의 의미를 파악하기 위해 기존의 NN/CNN 구조를 사용하는 것은 어려운 일이다. 따라서 이전의 연산 결과가 현재의 연산 결과에 영향을 미치는 신경망 구조를 만들게 되었는데, 이를 RNN 이라고 한다. RNN의 구조는 위의 그림과 같이 풀어서 나타낼 수 있다. 연속적인 데이터들이 입력으로 들어가게 되고, 현재의 입력값에 대한 출력이 과거의 연산값에 영향을 받는 구조이다. 위의 그림은 RNN의 연산식을 나타낸 것이..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 컨볼루션 연산을 테스트 하기 위한 입력 이미지를 만들었다. 모든 요소가 1이고 2x2크기를 갖는 필터를 컨볼루션 연산을 수행하면 2x2크기의 출력값이 나오게 된다. Padding을 적용하게 되면 입력 크기와 출력 크기가 동일하게 된다. 여러개의 필터를 사용하여 출력 결과의 갯수를 늘릴 수 있다. 최대 풀링을 적용하여 값을 출력한다. MNIST 이미지에서 컨볼루션 연산을 수행해보자. 5개의 필터를 적용하여 나온 출력 결과들이다. 최대 풀링을 적용한다면 위와 같은 결과가 나오게 된다. 간단한 CNN 네트워크를 구성해보자. 첫번째 레이어의 구..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 강의에서 쓰인 자료 출처: http://cs231n.stanford.edu/ CNN의 등장을 알린 네트워크이다. 컨볼루션 필터의 크기는 5x5이고 stride는 1이다. 풀링 레이어를 사용하였다. Normalization layer는 최근에는 잘 사용되지 않는 레이어이다. ReLU를 처음 사용한 네트워크이다. 7개의 네트워크를 사용하여(앙상블) 성능을 향상하였다. 인셉션 모듈이라는 특이한 레이어 구조를 가지고 있는 네트워크이다. 다른 네트워크와 비교하여 네트워크가 상당히 깊어졌다. 네트워크가 깊어지면 학습이 어려워지게 되는데 ResNet..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io Pooling layer는 컨볼루션 레이어의 출력 값을 Sampling하는 레이어이다. (resize) 위 그림은 2x2필터를 적용한 최대 풀 처리과정이다. 상단부터 하단까지 2만큼 이동하며 최대값을 뽑아낸다. 이때 생성되는 출력의 크기는 필터의 크기와 stride에 따라 달라진다. 앞서 배운 여러 레이어를 조합하여 CNN네트워크를 구성할 수 있다. 네트워크의 말단 부분은 분류를 위한 FC layer를 붙여야한다.
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 강의에서 쓰인 자료 출처: http://cs231n.stanford.edu/ CNN의 기본 아이디어는 고양이 실험에서 시작되었습니다. 시각 피질 안의 많은 뉴런들이 시야의 일부 범위 안에 있는 시각 자극에만 반응을 한다는 내용입니다. 어떤 뉴런은 수직선의 이미지에만 반응하고, 다른 뉴런은 다른 각도의 선에 반응하는 뉴런이 있는 등 일부 영역에만 반응하였습니다. 자세한 내용은 링크를 참고하세요: https://excelsior-cjh.tistory.com/180 하나의 이미지를 여러개의 컨볼루션 필터를 통해 서로 다른 특징점들을 뽑아내는 ..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 기존 7장에서 구현하였던 MNIST 예제이다. 계층을 늘리게 된다면 정확도가 증가하게 된다. Xavier 초기값으로 설정하게 된다면 정확도가 더욱 증가한다. 계층을 증가시켰음에도 정확도가 더 나아지지 않은 모습이다. (Overfitting) Overfitting문제를 해결하기 위해 Dropout기법을 사용하여 정확도가 더욱 증가하였다. 경사하강법 외에 더욱 다양한 최적화 알고리즘이 존재한다.