클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

딥러닝 1 - 딥러닝 기초 학습 1 : 딥러닝이란 무엇인가? 본문

인공지능/딥러닝

딥러닝 1 - 딥러닝 기초 학습 1 : 딥러닝이란 무엇인가?

huenuri 2024. 9. 21. 09:10

오늘부터 이틀동안 딥러닝 공부를 하기로 했다. 아마 월요일 새벽까지 공부를 해야 마칠 수도 있지만 오늘과 내일 정말 열심히 딥러닝 공부를 해볼 것이다. 어제까지 8일 동안 머신러닝 공부를 잘 마쳤다.
이 과목도 수업을 하나도 듣지 않아서 따라갈 수 있을지 걱정이 되기도 하지만, 어려운 머신러닝도 모두 공부했으니 이 수업도 충분히 학습할 수 있으리라 믿는다.
 
먼저 코랩으로 실습을 진행해본다.
 


 
 
 

코랩에서 딥러닝 실행해보기

 
만약 상위 폴더로 나가서 어디에 있는지 찾을 수 없을지라도 content 폴더 안에 들어가면 우리가 작업하는 것들이 있다. 연결을 해제했다가 다시 연결해도 원래 파일이 보인다.
 
 
 

 
터미널 창이 나타나지 않을 때는 다음과 같은 코드를 입력해 내부에 터미널을 만들어 사용할 수 있다.
 
 
 

 
구글 드라이브에서 사용하려면 이 코드를 실행시키면 된다.
 
 
딥러닝은 사람의 뇌 구조를 모방해서 만든 학습 방법을 말한다. 머신러닝을 할 때 사용했던 패키지는 sklearn이었다. 딥러닝에서도 다양한 패키지가 존재하는데 주로 텐서플로, 파이토치를 많이 사용한다. 텐서플로를 기반으로 문법적으로 간결하게 만들어진 케라스라는 패키지가 있다. 이 둘보다 훨씬 간결하게 쓸 수 있는 장점이 있다.
우리도 이 Keras를 기반으로 실습을 진행해볼 것이다.
 
코랩에서 작성한 코드가 버전 이슈 때문에 작동하지 않을 때도 있는데 그럴 때는 버전을 낮추거나 로컬 환경에서 작업하는 것이 좋다. 로컬은 한번 설치하면 그 버전이 그대로 있는데, 코랩은 항상 최신 버전으로 업데이트를 하기 때문이다.


 
 
 

딥러닝에 대하여

 

 
 
 

 
 
 
 
 

 
 
 
 

 
외부에서 어떤 자극을 받으면 사람의 신경계에 변화가 일어난다. 이 자극도 전기적 신호인데, 이것을 통해 뉴런에 전기 화학적 신호가 전달된다. 계속 전달이 되다가 반응기라는 근육 쪽으로 신경이 전달되어 반응을 하게 된다.
이것을 그대로 컴퓨터가 받아들여 인공 신경망을 만들었다. 외부에서 데이터인 자극이 들어오면 학습할 수 있는 모델에 전달한다. 이 모델은 선형 모델을 기초로 하며, 모델에서 모델로 전달된다. 이후 최종 결과인 출력 데이터가 나온다. 하나가 아닌 여러 개 연결했을 때의 장점이 있다.
 
 
 
 

 
이런 모양을 자동차라고 학습시켰다.
 
 
 

 
하지만 이와 조금 다른 사각형이 나오자 자동차가 아니라고 말하게 된다. 기계는 임계치가 뚜렷해서 경계값을 넘어가면 자동차라고 하고, 그렇지 않으면 자동차가 아니라고 말한다. 하지만 사람은 찌그러진 사각형도 자동차일 수도 있다고 생각한다.
 
 
 

 
어떻게 하면 기계도 사람처럼 느슨하고 추상적인 사고 체계를 가질 수 있을까 고민하며 인공신경망을 만들기 시작했다. 인공신경망은 모델을 하나만 쓰지 않고 여러 개 연결하는 방식을 사용한다. 이렇게 해서 사람처럼 생각할 수 있는 체계를 만들어낸 것이다.
 
 
 

 
사람의 신경망에는 뉴런이 존재한다.
 
 
 
 

 
 
 
 

 
뉴런에 선형 모델을 집어넣었다. 
 
 
 
 

 
선형 모델도 여러 개 연결해서 마치 신경망이 판단한는 것 같은 구조를 만들어낸다.
 
 
 
 

 
인간도 수많은 뉴런 덕분에 생각을 다양하게 할 수 있는 것처럼 말이다.


 
 
 
 
 

 
머신러닝에서는 테이블 형태의 정형화된 데이터를 많이 다룬다. 딥러닝에서는 복잡한 데이터를 잘 다루기 때문에 비정형된 텍스트나 이미지, 영상 데이터 등을 많이 활용한다.
 


 
 
 

학습을 마치고

오늘은 새벽에 수학과 영어 공부를 평소보다 2배는 더 많이 해서 새벽 공부 시간이 많이 늦어졌다. 그래도 이렇게 딥러닝 첫 수업을 들어보니 정말 재미있었다. 3주 전에 딥러닝 수업을 했을 때는 너무 어려워서 처음 부분만 아주 조금(여기까지도 아니고) 듣다가 말았었다.
아마도 그때는 머신러닝이 무엇인지도 거의 몰랐고 아직 공부할 준비가 되어있지 않았던 거였다. 지금은 딥러닝으로 하고 싶은 일이 생겨 열심히 공부해보고 싶어졌다. 아침 공부 시간에 나머지 공부를 재미있게 이어갈 수 있을 것 같다. 그 전에 어제 공부하다 말았던 정보처리 실기 공부한 것을 정리해보려고 한다.