| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 파이썬
- 문자열
- 클린코드
- 붓꽃데이터셋
- sklearn
- Hyperlink Graphs
- knn_classify
- ALTERTABLE
- 백준
- RENAMETABLE
- latent factor
- 무결성유지
- 무결성유지메커니즘
- 주성분 찾기
- 무결성
- Key 종류
- 세대별가비지컬렉터
- 잠재요소모델
- 키 종류
- latent factor model
- SQLDDL
- 알고리즘
- Python
- 사이킷런
- DROPTABLE
- CREATETABLE
- 컨테이너객체
- SQL
- TDD
- 힙
- Today
- Total
목록DeZero (50)
DonHurry
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 저번 단계에서는 데이터셋 중 일부를 미니배치로 뽑아 학습시켰습니다. 이번 단계에서는 이러한 과정을 DataLoader 클래스로 구현합니다. DataLoader는 미니배치 생성, 데이터셋 섞기 등의 기능을 제공합니다. 우선 파이썬의 반복자에 대해 알고 있어야 합니다. 잘 정리된 글을 아래 링크에 첨부하니, 참고 바랍니다. [Python] 볼 때마다 헷갈리는 Iterable, Iterator, Generator 정리하기 Iterable vs Iterator vs Generator 다른 분들의 코드를 읽을 때마다, 내가 사용할..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 이번 단계에서는 저번 단계에서 사용했던 Dataset 클래스에 대해 자세히 살펴보겠습니다. 사용자가 실제로 사용하는 데이터셋은 기반 클래스를 상속받아 구현합니다. 먼저 기반 클래스 코드를 보겠습니다. Dataset 클래스에서는 __getitem__과 __len__ 메서드가 중요합니다. __len__ 메서드는 len 함수를 사용할 때 호출되고, __getitem__ 메서드는 지정된 인덱스에 위치하는 데이터를 꺼낼 때 사용합니다. 기본적으로 딥러닝 학습에는 데이터와 라벨이 필요하므로, 생성자에서 지정해주도록 합니다. 별개로 ..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 이전 단계에서 구현한 소프트맥스 함수와 엔트로피 오차를 활용하여 다중 클래스 분류를 해보도록 하겠습니다. 이번 단계에서는 스파이럴 데이터셋이라는 아주 작은 데이터셋을 사용합니다. 데이터셋은 DeZero의 dezero/datasets.py에 준비되어 있습니다. 우선 스파이럴 데이터셋을 읽어와 모양을 확인해보겠습니다. 이번 문제는 총 3 클래스 분류 문제로, 정답 데이터(레이블) t의 원소는 0, 1, 2 중 하나입니다. import dezero x, t = dezero.datasets.get_spiral(train=True..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 이전 단계까지는 신경망을 활용하여 회귀 문제를 풀었습니다. 앞으로는 DeZero를 활용하여 새로운 유형의 문제를 풀어보겠습니다. 다중 클래스 분류(multi-class classification) 문제입니다. 우선 이번 단계에서는 사전 준비를 해보겠습니다. 먼저 get_item이라는 함수를 준비합니다. 이 함수는 다음과 같이 활용할 수 있습니다. Variable의 다차원 배열 중에서 일부를 슬라이스하여 뽑아주는 것입니다. DeZero 함수로 구현했기 때문에 역전파도 수행 가능합니다. import numpy as np fr..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 지금까지는 매개변수 갱신에 경사하강법을 활용했습니다. 하지만 실제 모델 학습에는 더 다양한 최적화 기법이 있고, 여러 가지를 활용할 수 있어야 합니다. 따라서 이번 단계에서 갱신하는 작업을 모듈화하겠습니다. 먼저 매개변수 갱신을 위한 기반 클래스를 마련합니다. 기본적으로 target과 hooks라는 인스턴스 변수를 초기화합니다. target은 매개변수를 갖는 클래스인 Model이나 Layer를 저장합니다. 실제적으로 매개변수 갱신은 update_one에서 실행하는데, 이는 자식 클래스에서 재정의하도록 합니다. hook은 ..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 이전 단계에서, Layer 클래스를 활용하면 매개변수를 직접 다루지 않아도 되었습니다. 이번 단계에서는 Layer 인스턴스 관리도 편의성을 개선하겠습니다. 현재 Layer 클래스는 여러 개의 Parameter를 가질 수 있는데, 여기에 Layer 클래스가 다른 Layer도 담을 수 있게 확장하겠습니다. 두 가지 측면에서 개선합니다. 인스턴스 변수를 설정할 때 Layer 인스턴스 이름도 _params에 추가합니다. 다른 변경점은 매개변수를 꺼내는 처리 부분입니다. _params에서 name에 해당하는 객체를 꺼낼 때, 그 ..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 앞 단계에서는 단순하지만 신경망을 구현해보았습니다. 이제 DeZero는 신경망 프레임워크의 구색을 갖추고 있지만, 사용 편의성 측면에서는 보완할 점이 많습니다. 이번 단계에서는 매개변수를 담는 구조를 만들어보겠습니다. Parameter와 Layer라는 클래스를 구현하고, 이를 통해 매개변수 관리를 자동화합니다. Parameter 클래스는 아래 내용이 다입니다. Variable 클래스와 동일한 기능을 가집니다. 물론 Variable 인스턴스와 Parameter 인스턴스는 구별이 가능합니다. class Parameter(Va..
📢 본 포스팅은 밑바닥부터 시작하는 딥러닝3을 기반으로 작성하였습니다. 배운 내용을 기록하고, 개인적인 공부를 위해 작성하는 포스팅입니다. 자세한 내용은 교재 구매를 강력 추천드립니다. 이번 단계에서는 전 단계에서 구현했던 선형 회귀를 신경망으로 확장시키도록 하겠습니다. 우선 선형 변환을 DeZero의 linear 함수로 구현해보겠습니다. $y = F.matmul(x, W) + b$와 같이 입력 x와 매개변수 W를 행렬 곱하고, b를 더하는 것을 선형 변환(linear transformation) 혹은 아핀 변환(affine transformation)이라고 합니다. (엄밀히 말하면 b를 제외한 것이 선형 변환입니다.) 이때 선형 변환은 신경망에서 완전연결계층(fully connected later)에 ..