deep learning16 ML Strategy [Deep Learning Specialization #7] Coursera의 Deep Learning Specialization - Week 3의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 3주차는 실무에서의 Machine Learning을 다룰 때 마주하는 문제점들을 분석하고 해결하는 전략들을 배웁니다. Orthogonalization - 직교화 지난 주차의 Early Stopping을 배울 때, Orthogonalization(직교화)라는 단어를 언급했었습니다. 직교화는 하나의 기능을 하나의 제어로만 통제하는 경향을 의미합니다. 앞, 뒤, 좌, 우로 물건을 이동시킨다고 할 때, 각 스위치들이 여러 방향을 포함하고 있기보다는 하나의 스위치당 하나의 방향만을 제어하는 것이 사용자 입장에서도, 엔지니어 입장에서도 편할 것입니다. 이것은 Machin.. 2022. 7. 19. Tuning Process [Deep Learning Specialization #6] Coursera의 Deep Learning Specialization - Week 2의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 여러 최적화 기법들을 살펴 보았습니다. 이번 주차에서는 파라미터들을 튜닝하는 기법들을 살펴 보겠습니다. Tuning Hyper-parameters 가중치 W, 바이어스 b를 제외한 나머지 파라미터들을 Hyper-paramter라고 부릅니다. 학습률 alpha, Layer 수 L, unit 수 n[L], Momentum에서 쓰이는 beta 1, RMSprop에서 쓰이는 beta2 등입니다. 이들의 최적값을 찾기 위해서는 값을 바꾸어 가면서 모델을 테스트해야 하는데, 무작정 모든 값들을 다 해볼 수는 없으니 특정 값들을 선정해야 합니다. 이 때, 그.. 2022. 7. 18. Optimization [Deep Learning Specialization #5] Coursera의 Deep Learning Specialization - Week 2의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 Deep NN 향상 기법들을 살펴 보았습니다. 이번 주차에서는 여러 최적화 기법들을 살펴봅시다. Mini-batch Gradient Descent Training set의 크기가 5백만인 경우, 한 개씩 5백만 회 반복하는 것과 5백만 개를 한 번에 학습하는 것 중 무엇이 좋을까요? 한 개씩 하는 것은 전체 반복이 매우 짧지만, 벡터화를 활용하지 못해 전체 데이터에 대한 소요 시간이 매우 길어집니다. 그리고 전체 데이터의 경향을 반영하기 힘들어집니다. 반대로 5백만 개를 한 번에 하면 성능은 좋아지지만, 전체를 한 번 반복하는 데 소요 시간이 길.. 2022. 7. 14. Improving Deep Neural Network [Deep Learning Specialization #4] Coursera의 Deep Learning Specialization - Week 2의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 2주차는 DNN을 향상시키기 위한 Hyperparameter Tuning, Regularization, Optimization을 배웁니다. 이번 주차에서는 DNN의 결과가 의미하는 것을 분석하고, DNN 향상 기법들을 알아봅니다. Dataset Distribution 일반적인 데이터셋은 크게 세 가지로 나뉩니다. Training set : 모델을 훈련하는 데 이용되는 데이터셋의 모음으로 가장 큰 지분을 차지합니다. 60%가 일반적입니다. 이 데이터셋을 반복적으로 이용하여 모델의 성능을 끌어올립니다. Development set : 앞서 훈련한 모델을 검증하기 .. 2022. 7. 14. Deep Neural Network [Deep Learning Specialization #3] Coursera의 Deep Learning Specialization - Week 1의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 Shallow Neural Network를 살펴 보았습니다. 이번에는 딥러닝의 의미를 가지고 있는 Deep Neural Network를 살펴 보겠습니다. Deep Neural Network Hidden Layer의 수가 증가할수록 모델이 깊어집니다. 이러한 외형 특징을 따서 Deep Neural Network라고 하고, Deep Learning이라는 말이 생기게 되었습니다. 왜 Layer를 많이 쌓아야 모델의 성능이 좋아지는 지는 아래에서 서술합니다. 아래는 각 값마다 [l]이라는 첨자를 통해 몇 번째 Layer인지 표기한다는 내용입니다. n[l.. 2022. 7. 13. Shallow Neural Network [Deep Learning Specialization #2] Coursera의 Deep Learning Specialization - Week 1의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 아주 기본적인 Neural Network를 살펴 보았습니다. 이번에는 얕은 Neural Network를 살펴 보겠습니다. Shallow Neural Network 입력 X와 출력 Y Layer를 제외하고, 그 사이에 있는 Layer를 Hidden Layer라고 합니다. 숨겨진 레이어에서 파라미터 W와 b의 학습이 이루어집니다. 아래의 간단한 그림을 살펴 보면, Input Layer를 제외하고 모든 Hidden Layer와 Output Layer에는 활성 함수 activation이 존재하며, 이 Layer들을 각 값들 우측 상단에 대괄호로 표기합니.. 2022. 7. 13. Basic Neural Network [Deep Learning Specialization #1] Coursera의 Deep Learning Specialization - Week 1의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. Binary Classification (이진 분류) 입력 X에 대하여 고양이인지(Y=1), 아닌지(Y=0)를 분류하는 아주 기초적인 분류기입니다. 큰 내용은 없고, 하나의 입력을 벡터로 길게 폈을 때의 크기를 nx라고 하여 차원으로 구분합니다. 그리고 x(1), x(2), .. 등 모든 training example들을 column으로 합하여 대문자 X로 표현합니다. X의 차원은 (nx x m)입니다. Label 또한 column으로 합하여 대문자 Y로 표현합니다. Y의 차원은 (1 x m)입니다. Logical Regression (논리 회귀) 입력 X에 .. 2022. 7. 13. 이전 1 2 다음 728x90