일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- PYTHON
- dp
- DFS
- 구글 킥스타트
- 코딩 테스트
- 코딩
- google coding competition
- linux
- 순열
- 동적 프로그래밍
- 프로그래머스
- nlp
- 백준
- 파이썬
- AI
- 딥러닝
- CSS
- kick start
- 리눅스
- 운영체제
- BFS
- OS
- 킥스타트
- 알고리즘
- 브루트포스
- 그래프
- 프로그래밍
- 동적프로그래밍
- 네트워크
- Today
- Total
목록AI/케라스 창시자에게 배우는 딥러닝 (3)
오뚝이개발자
케라스의 구조가 내부적으로 어떻게 되어있는지를 파악하는 것은 본인이 어느 위치에서 작업을 하고 있는가를 파악하는데 중요하다. 오늘은 케라스의 시스템이 내부적으로 어떻게 구성되어 있는지에 대해 알아보자! 아래 그림은 케라스의 내부 구조를 도식화 한 것이다. 중앙의 큰 사각형은 하나의 가상환경(virtual environment)이다. 이러한 가상환경은 user가 만들기에 따라 여러개 있을 수도 있다.(virtual env1, virtual env2...) 실제로 우리가 직접 다루는 부분은 바로 python, keras 부분이다. 사실 케라스를 사용하면 그 아랫단인 tensorflow까지도 잘 만지지 않는다.(디테일한 텐서 level에서의 설정이 필요한 경우가 아니고서는 말이다.) 그 아랫단인 cuDNN, ..
딥러닝 층을 구성할 때 행렬 계산이 어떻게 이루어지는지를 이해하는 것이 중요하다. 그래야 행과 열의 수를 잘 맞추어 계산을 할 수 있기 때문이다. 이 글에선 Keras를 사용한 코드에서 실제 행렬 연산이 어떻게 이루어지는지 그림으로 도식화하여 설명하고자 한다. 아래와 같은 간단한 딥러닝 모델을 구성하는 코드가 있다고 해보자. network.add(layers.Dense(512, activation='relu', input_shape=(28*28,))) network.add(layers.Dense(10, activation='softmax')) network.fit(train_images, train_labels, epochs=5, batch_size=128) keras의 Dense() 메서드 안의 수는 ..
케라스 창시자에게 배우는 책의 실습 코드를 작성하고 깃허브에 올려두었다. 바로 아래 책이다. 책의 내용이 아주 좋은 것 같다. 설명이 충분해서 예제 코드들을 이해하고 따라서 실습해보기에 무리가 없다. 나는 해당 책의 코드 실습과 더불어 모델의 정확도를 높이기 위한 다양한 시도들을 개인적으로 해보았다. 간단하게는 층이나 은닉 유닛의 갯수를 조절하는 것에서부터 복잡하게는 optimizer나 loss function을 바꾸고, early stopping과 같은 regularization 기법을 사용하는 것까지 말이다. 깃허브 레포지토리 링크를 여기에 올려두니 책을 공부하며 함께 참고하면 좋을 듯하다. 아래 레포지토리 링크로 깃허브에 접속하면 서로 다른 데이터셋을 사용한 실습 코드들을 볼 수 있다. https:..