파이썬 딥러닝 입문 강좌의 맛보기 강의입니다.
딥러닝의 필수 요소 중에 두 번째 활성함수 부분 하고요 두 번째가 손실 함수예요 손실 함수는 사실은 딥러닝의 저희의 목표죠 목표 회귀를 할 건지 분류를 할 건지를 손실 함수 로스로 저희가 결정해 줘야 되는데 손실 함수를 다른 말로 오차 함수 내지는 비용 함수라고 얘기를 합니다 모델의 출력값과 사용자가 원하는 출력값 차의 오차를 구하는 목표에 해당되는 거고요 만약에 여러분이 갖고 있는 문제가 x, y로 구분했을 때 이 y가 수치형 데이터 하면 저희가 뭘 하죠? 회귀를 하죠 그래서 회귀를 하는 거는 손실 함수를 MSE, 평균 제곱 오차로 정해주셔야 되고요 지정해주셔야 돼요 만약에 y가 범주형 데이터예요 그냥 합격했는지 불합격했는지 개인지 고양이인지 구분만 해주는 거다 라고 한다면 분류를 쓰는 거고 분류 문제이기 때문에 크로스 엔트로피 오차를 쓰시면 됩니다 거기다 직접 지정해 주시면 되는데 이 크로스 엔트로피 오차는 크게 두 가지 종류가 있어요 우리가 구분할 때 분류하는 알고리즘은 알고리즘 자체가 두 가지죠 0과 1만 구분할 수도 있고요 아니면 A등급, B등급, C등급 꼭 두 개가 아니고 여러 개를 분류하는 일도 많습니다 학점이라고 그러면 F까지만 구분할 수가 있겠죠 그래서 굉장히 여러 가지 개, 고양이, 토끼 이렇게 세 가지로 구분할 수 있고요 두 가지 이상 구분하는 것들을 이런 것들을 저희가 다항분류라고 부르죠 크게 보면 이진분류도 다항분류 중에 하나죠 두 개 이상 분류하는 거니까 어찌 됐든 간에 이진분류일 때는 저희가 뭘 쓰냐면 크로스 엔트로피 오차 중에 바이너리를 쓰고요 다항분류는 카테고리칼을 쓴다라고 보시면 좋겠습니다 그래서 우리가 분류는 이제는 더 나눠서 두 가지를 분류할 거냐 아니면 두 개보다 더 많은 걸 분류할 거 아니냐에 따라서 우리가 반드시 크로스 엔트로피 오차도 나눠서 넣어야 된다라고 보시면 좋을 것 같습니다 자 그리고 또 필수 구성 요소가 두 가지가 더 있는데요 하나가 옵티마이저예요 그러면 우리가 목표잖아요 오차를 정했어요 회귀든 분류든 정해줬어요 컴퓨터한테 딥러닝 할 때 그러면 이 오차를 줄이는 방법을 어쨌든 공부를 시켜야 되는데 어떤 방법으로 공부를 할 거냐 그게 이제 가장 대표적으로 저희가 배웠던 게 경사하강법이란 방법이었는데 기울기를 구하죠 그래서 기울기를 구해서 이 기울기가 0이 되는 오차함수가 2차원의 형태였고요 기울기 위에서 기울기가 점점점점 내려가는 방향으로 해서 기울기가 0인 상태에 가야 이 오차가 가장 작은 상태로 가는 기울기하고 편향을 구하는 게 우리의 목적이라고 말씀드렸잖아요 그래서 어쨌든 이렇게 공부해 나갈 때 점점점점 아래쪽으로 내려간다고 해서 경사하강법이라고 하죠. 경사가 기울기니까요. 기울기가 낮아지는 방향으로 공부해야 되는 게 경사하강법이었는데 이 경사하강법의 방법이 되게 많습니다. 하나만 있는 게 아니고 그래서 이걸 저희가 이제 여기 딥러닝에서 옵티마이저, 최적화 함수라고 얘기를 하고요. 공부하는 방법에 대해서 얘기를 하는 거죠. 네트워크를 업데이트한다는 얘기는 뭐냐면 이 오차를 최소로 하는 가중치하고 바이어스, 우리가 말하는 편향 편향을 업데이트를 해야 된다는 얘기고요 그 방법이에요 방법 방법인데 지금 가장 현존하게 많이 쓰는 거 가장 진화된 형태는 아담이라는 게 있습니다 뒤에서 자세히 좀 살펴볼 거지만 저희는 보통 아담을 써요 아담을 쓰는 게 가장 지금은 효율적으로 잘 공부를 하는 걸로 나와 있기 때문에 아담을 그냥 쓰시면 별 문제 없이 잘 돌아갈 수가 있고요 마지막으로 구성요소 중에 알고 계셔야 되는 게 에포크라는 게 있어요 대체 몇 번 공부시킬 거냐 그러면 전체 학습 데이터에서 몇 번 반복할지 2000번 공부시켜라, 200번 공부시켜라 이런 식으로 전체 데이터에 대해서 몇 번 공부시킬 거냐 보는 거고 전체 데이터가 워낙 크다라고 한다면 얘도 쪼개서 메모리 올라갈 수 있거든요 이렇게 쪼개서 나눠 공부시키고 이렇게 공부시키게 그래서 이게 배치 사이즈라고 얘기를 하고요 학습 데이터를 배치 사이즈로 나눠서 학습을 진행할 건데 이거 역시 우리가 나눠도 되고 안 나눠도 되지만 사이즈 하나의 데이터 자체가 너무 크면 잘라서 넣는 게 훨씬 더 잘 학습이 되더라 라고 해서 배치 사이즈로 공부를 시키는 것도 있습니다 그래서 데이터를 몇 번 돌릴 거냐 이게 바로 에포크다 라고 보시면 좋겠습니다 딥러닝의 필수 구성 요소가 지금 네 가지가 있었어요 활성화 함수, 손실 함수, 그 다음에 옵티마이저, 에포크를 아주 간단한 맛보기를 하더라도 여러분이 지정을 해주셔야 되고요 이 필수 구성 요소를 알았으니까 이제 드디어 저희는 딥러닝 실습 맛보기를 한번 해보도록 하겠습니다
