본문 바로가기

전체 글119

평균, 분산, 표준편차, 정규화, 표준화 딥러닝에 들어가기 앞서, 데이터 전처리(preprocessing)은 정말 미친듯이 중요하다. 전처리만 잘해도 훈련 성공률은 어마무시하게 올라간다. 전처리에는 일반적으로 통계학(statistics)이 사용된다. 그래서 극단적으로 표현하면 인공지능 = 통계 라고 볼 수 있다. 그렇다면 딥러닝을 위한 전처리는 어떻게 해야 할까 이번시간엔 이에 대한 수학적 개념을 짚고 넘어갈 것이다. 대표값(Representative value) 이라는 개념이 있다. 대표값은 어떤 데이터를 대표하는 하나의 값 이라고 생각하면 되는데 예를들면 · 어떤 학급의 과학 점수 데이터 집단 대표값 : 평균 · 어떤 학급의 모의고사 데이터 집단 대표값 : 총점 · 어떤 학급의 세벳돈 데이터 집단 대표값 : 중앙값 → 왜냐하면 아예 못 받은.. 2022. 3. 2.
23 - 학습 성능 개선 : Mini batch & Shuffle 구현하기 지난 시간까지 복잡한 데이터에 대한 학습은 다중 퍼셉트론(MLP)가 효율적이라는 것을 배웠고 좀 더 빠르게 수렴하기 위해 경사하강법을 Momentum, RMSprop, Adam 으로 개선하여 학습해 보았다. 이번 시간부터 '학습 성능 개선'을 주제로 어떻게 해야 좀 더 빠르고 효율적으로 학습을 할 수 있을가에 대해 여러 방법들을 알아볼 것이다. 학습 성능을 개선한다는 것은 최단 학습으로 지역 최소점에 빠지지 않고 전역 최소점에 수렴하는 방법을 찾는 것이라고 생각해도 좋을 것이다. 사실 위의 경사하강법 개선도 학습 성능 개선 방법 중 하나이다. 기본적으로 쓰여서 그렇지... 1. 아이리스 분류 풀 데이터셋 다시 살펴보기 10. 단층 퍼셉트론 을 다시 살펴보고 오자. 150개 오리지널 데이터셋을 한번 섞고(.. 2022. 2. 11.
22. 다중회귀-소프트맥스 함수 역전파(고급, 쉬운 방법) 이번 시간엔 소프트맥스 함수 역전파를 고급지게(?) 다뤄볼 것이다. 왜냐하면 기존에 다룬 방법(8.다중분류 구현하기(기초실습), 9.다중분류 구현하기(심화실습) ) 은 너무 비효율적이기 때문이다. (그래도 고급을 이해하기 위해서 읽고 오시라, 기본 수학적 배경 없으면 읽기 힘들 수 있다.) 일일이 소프트맥스 미분 행렬을 만드는 것은 너무나도 귀찮은(...) 일이다. 아래는 IRIS 꽃 분류에 사용하였던 소프트맥스 미분 행렬이다. 3개 출력이므로 (3, 3) Size의 행렬이 된다. dsmax_dg_matrix = np.array([[(smax_WXB1*(1-smax_WXB1))[0], -(smax_WXB1*smax_WXB2)[0], -(smax_WXB1*smax_WXB3)[0]], [-(smax_WXB1.. 2022. 2. 10.
21. 경사하강법의 개선 - Adam 저번 시간에 단순경사하강법을 개선한 Momentum과 RMSprop를 알아보았다. Momentum은 기울기를 변화시키는 방법으로 지역 최소점에 빠지지 않게 도와주었고 RMSprop는 학습률을 변화시키는 방법으로 진동을 줄여 빠른 시간내에 수렴할 수 있도록 도와주었다. 이 둘을 합치면 더 좋은 성능을 낼 수 있지 않을까? Adam은 Momentum과 RMSprop를 합친 최적화 방법이다. 즉 Momentum의 직진성과 RMSprop의 감쇠가 합쳐진 것으로 생각해 볼 수 있다. 수식을 보자 Adam 방법은 위의 수식에서 볼 수 있듯이 Momentum과 RMSprop를 합친 경사하강법이다. 그런데 이 식을 그대로 사용하다간 작은 문제가 생긴다. 바로 초기값 v = 0, s = 0이 문제다. 초기값에 따라 지수.. 2022. 2. 5.