코세라 앤드류 응 AI 강의 리뷰

[인공지능 강의 리뷰] 25 - 매개변수와 하이퍼 매개변수의 차이점 +뇌와 딥러닝의 관련성

파요요요 2022. 7. 29. 19:13
코세라 앤드루 응 교수님 수업 자료 발췌, deeplearning.Ai

 

심층 신경망을 효과적으로 개발하려면 매개변수뿐만 아니라 하이퍼 매개변수도 잘 구성해야 합니다.

따라서 이번 시간에는 "하이퍼 매개변수(hyperparameters)"가 무엇인지 살펴보겠습니다

 


 
코세라 앤드루 응 교수님 수업 자료 발췌, deeplearning.Ai

 

매개변수(parameters) = 가중치 W, 편향 b와 같이 딥러닝 학습을 통해서 기계가 수정하는 값

하이퍼 매개변수(Hyperparameters) = 신경망 층의 개수, 학습률 등등 인간이 직접 설정해 주는 값

 

하이퍼 매개변수는 학습 반복 횟수, 신경망의 층의 깊이, 학습률, 학습시간, 정규화 매개변수 등등 수많은 종류가 존재합니다.

하이퍼 매개변수의 값에 따라서 학습 성능이나 정확도, 학습 시간, 과적합 문제 등등 정말 많은 것들이 좌지우지되기 때문에, 저희에게 상당히 중요한 변수입니다.

그래서 딥러닝 개발자들이 딥러닝 모델을 만들 때 가장 신경 쓰는 부분이

"하이퍼 매개변수를 어떻게 설정할지?"입니다. 입니다.

 

코세라 앤드루 응 교수님 수업 자료 발췌, deeplearning.Ai

 

예를 들어서, 어떤 it 회사에서 딥러닝 소프트웨어를 개발한다고 가정해 보겠습니다.

이때 개발과정에서 딥러닝 엔지니어들은 딥러닝 성능을 높이기 위해 아래의 과정을 반복하게 됩니다.

 

( 1단계) 아이디어 연구(Idea) -> ( 2단계) 코드 작성(Code) --> ( 3단계) 실제 테스트(Experiemnt)

 

아이디어 연구 과정(Idea)은 하이퍼 매개변수를 어떻게 설정할지에 대해서 연구하는 과정입니다.

코드 작성 과정(Code)은 정해놓은 아이디어를 실제 프로그래밍 코드로 바꿔서, 실제 모델의 성능을 테스트할 수 있도록 준비하는 과정입니다.

실제 테스트 과정(Experiement)은 만든 딥러닝 모델을 실제 테스트하여 성능이 어떤지 확인하는 과정입니다.

 

위의 1~3단계를 반복하면서, 가장 높은 성능을 내는 "하이퍼 매개변수"를 찾는 내는 것이죠.

적절한 하이퍼 매개변수를 찾는 방법은 직접 하나하나 테스트해 보며 성능을 비교해 보는 방법밖에 없습니다.

 

참고--------> 모델의 성능을 직접 테스트해 보지 않는 한, 내가 정한 하이퍼 매개변수가 적절한지에 대해서 미리 알 수 있는 방법은 없습니다.


물론 하이퍼 매개변수를 단순히 무작위로 수정하며 테스트하는 것이 아니라,

어느 정도 효율적으로 수정하는 방법들은 존재합니다.

 

지금 당장은 아직 연구결과가 부족하지만,

현재 수많은 딥러닝 연구자들이 하이퍼 매개변수를 효율적으로 수정하는 방법에 대해서 연구 중이니 곧 괄목할 만한 성과가 나오지 않을까 싶습니다.


+ 뇌와 딥러닝의 관련성

 

코세라 앤드루 응 교수님 수업 자료 발췌, deeplearning.Ai

"딥러닝은 뇌와 어떤 관련성이 있는 걸까요?"

사람들이 딥러닝과 인간의 두뇌 사이의 관계를 계속 유추하는 이유를 간단히 살펴보겠습니다.

위에 보이는 수학 방정식은 심층 신경망의 역전파와 순 전파 과정을 나타낸 수식입니다.

 

제 생각에는 이러한 방정식이 무엇을 하는지에 대해서 직관적으로 이해하는 것은 어려웠지만,

실제로는 뇌와 같이 매우 복잡한 기능을 수행했습니다.

그렇기에, "심층 신경망(=딥러닝)이 뇌와 같다"라는 지나치게 단순한 비유가 탄생했습니다.

이러한 단순한 비유는 사람들이 쉽게 딥러닝에 대해 말할 수 있게 할 뿐만 아니라, 대중을 현혹시키고 기대감을 부풀립니다.

이 단순한 비유가 뭔지 간단하게 설명드리겠습니다.

 

코세라 앤드루 응 교수님 수업 자료 발췌, deeplearning.Ai

 

예를 들어서, 로지스틱 회귀 모델(=딥러닝 모델)과 실제 뇌의 뉴런이 있다고 생각해 봅시다.

뇌의 뉴런에서 이뤄지는 과정을 몹시 느슨하게 묘사하면,

뇌의 단일 뉴런은 다른 뉴런 X1, X2, X3 또는 아도 다른 뉴런 A1, A2, A3로부터 전기 신호를 수신하고 간단한 임계값 계산을 수행합니다.

그리고 이 단일 뉴런이 반응하면, 신경 축삭을 통해서 전기 신호를 다른 뉴런으로 전송합니다

이렇게 표현해서 보면 양쪽의 모습이 비슷하기에, 뇌와 딥러닝이 서로 비슷하게 작동한다고 착각할 수도 있습니다.

 

하지만, 뇌의 단일 뉴런은 실제로는 이렇게 단순하게 작동하지 않습니다.

저는 현대의 신경 과학자들조차 단일 뉴런이 무엇을 하는지 거의 알지 못한다고 생각합니다.

단일 뉴런은 우리가 신경과학으로 특성화할 수 있는 것보다 훨씬 더 복잡한 것으로 보이며,

"단일 뉴런이 무엇을 수행하는지"에 대해서는 오늘날 아무도 이해하지 못하는 경우가 많습니다.

 

Ex) 인간의 뇌가 알고리즘을 사용하는지, 역전파 또는 경사 하강 법과 같은 작업을 수행하는지 또는 인간의 학습 원리가 근본적으로 다른지 여부는 오늘날 완전히 불분명합니다.

 

 

 
코세라 앤드루 응 교수님 수업 자료 발췌, deeplearning.Ai

 

저는 X --> Y 매핑을 배우고 지도 학습에서 입력-출력 매핑을 배우기 위해 매우 유연하고 복잡한 기능을 배우는 것은 아주 좋은 것이라고 생각합니다.

이러한 과정을 뇌와 비유하는 게 한때는 유용했을지도 모르지만,

그 비유가 무너질 정도로 분야가 옮겨간 것 같아서 더 이상 그 비유를 사용하지 않는 경향이 있습니다.

 

아마도 컴퓨터 비전 분야가 딥 러닝을 적용하는 다른 분야보다 인간 두뇌에서 더 많은 영감을 얻었다고 생각하지만,

개인적으로는 예전보다 인간 두뇌에 대한 비유를 덜 사용한다고 생각합니다.

 

이상으로 수업을 마치도록 하겠습니다. 다음 시간에는 4주 차 내용을 정리하는 총정리 퀴즈를 풀어보겠습니다!

 

이 내용들은 모두 coursera에서 앤드루 응 교수님의 강의를 요약정리 및 쉽게 재 풀이하여 적은 글이며,

내용에는 생략되거나 변형된 부분이 많으니 직접 강의를 들어보시는 걸 추천드립니다!

이 글은 상업적 목적이 아닌, 한국에서 인공지능을 배우고 싶은 분들을 위해 적은 교육적 목적에서 작성하였습니다.

 

혹시 글을 읽고 생긴 궁금증이나 의문이 있으시다면, 댓글로 남겨주세요!

 

반응형