공부하는삶

LeNet-5 현대 MNEST는 28x28을 받지만, LeNet-5는 32x32를 input 받을. 당시에 convolution은 아직 발전하지 않았기 때문에 전통적인 Fully Connected의 영향을 받음. 전통적인 Fully connected는 위치에 민감하기 때문에, Object가 한 가운데 위치하는 것이 좋았음. 그래서 padding을 하여 Object를 가운데 위치하게 함 Input : 32x32 약간 더 크게 함. 당시 Convolution에 대한 이해가 크지 않았기 때문에, 전통적인 machine learning에 사용했던 이미지 전처리를 적용함 C1 : feature map 6@28x28 논문에는 설명이 없음. stride = 1, padding 없는 것을 기본 옵션으로 생각하면 됨. ..
3.1. Convolution Layers 3.1.1 Tiled Convolution Tiled CNN은 인접한 단위로 pooling함으로써 complex invariances을 학습하여, 인접한 은hidden units가 동일한 weights를 공유할 필요가 없음. 또한 learned parameter가 적다는 CNN의 장점이 있음 3.1.2 Transposed Convolution 이 논문에서는 'Deconvolution'이라는 용어를 사용하고 있는데, 기존의 convolution과 비교하여, Deconvolution은 single activation을 multiple output activation과 연관시킴. (d)는 unit stride와 zero padding을 사용한 4x4 input에 대한..
3. Efficient Training 3.1 Large-batch traninig 작은 batch size로 training 시키는 것과 비교하면, batch size가 클 경우 동일 epoch에서 validation accuracy가 낮게 나타나는 것을 확인할 수 있음. 따라서 본 논문에선느 single machine training에 대해 batch size를 확장하는것에 도움이 될 수 있는 four heuristics에 대해 실험을 함 Linear scaling learning rate mini-batsch SGD에서 각 배치에서 샘플이 랜덤하게 선택되기 때문에 gradient descending은 random porcess였음. large batch size가 기울기의 nosie를 감소시켰기 때..
복습 약 10년 전에는 sigmoid가 아주 유명했지만, gradient Vanishing 문제가 발생함에 따라서 대부분 ReLU를 사용하고 있습니다. 또한 가중치 초기화에 대해 배웠습니다. 가중치 초기화가 너무 작으면 activation이 사라지고, 너무 크게 되면 결국엔 explode 되어 학습이 안 되게 됩니다. ) 그리고 데이터 전처리에 대해서 배웠습니다. 왜 normalization이 필요한가에 대해서 좀 더 자세히 말한다면, 손실함수가 아주 약간의 가중치 변화에도 민감하기 때문에, 동일한 함수를 쓰더라도 학습이 어렵기 때문입니다. 반면 zero-center, unit variance인 경우 손실함수가 덜 민감해지기 때문에 최적화가 싶고 학습이 더 잘되는 효과가 있기 때문입니다. 이론상으로는 성..
2016년 NIPS에서 Andrew Ng이 미래에는 Transfer learning이 훨씬 더 중요해질 것이라고 예언을 하였다. Transfer learning이 중요해진 이유는 더 짧은 시간에 적은 데이터의 양으로 학습을 진행할 수 있기 때문에 실무에서는 많이 쓰고 있는 상황이다. 1. Transfer learing의 정의 Transfer learning의 개념은 대규모 데이터를 대상으로 학습이 진행된 모델을, 상대적으로 유사한, 새로운 데이터셋으로 학습을 시키는 것이다. 학습의 가중치를 재사용함으로써 데이터의 수집에 대한 비용을 감소하고, 바로 활용을 할 수 있도록 하는 것이다. 2. Transfer learning의 원리 앞단의 layer의 경우, 범용적인 특성을 가지고 있고, layer가 깊어질 ..
numpy와 tensor와의 관계 tensor : 호환성이 낮지만 gpu나 tensorflow 내부의 기능을 극대화 가능함 numpy : 호환성이 좋지만 tensorflow 기능을 극대화 하지 못함. tensorflow 외 pytorch에서도 사용 가능함 # numpy 기반 cifar10 데이터셋 (X_train, y_train), (X_test, y_test) = tf.keras.datasets.cifar10.load_data() # 방법1 : 데이터셋 전체를 기반으로 데이터를 만들어줌 tf.data.Dataset.from_tensors(X_train) tf.data.Dataset.from_tensors((X_train, y_train)) # 방법2 : 데이터 1개를 기반으로 만들어 줌 -> ML에 더..
Hanna 한나
'공부하는삶' 카테고리의 글 목록 (4 Page)