메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

GAN 쉽게 알려줌. pytorch도 같이 알려줌.

aul020***

|

2021-03-21

GAN 첫걸음

손 글씨부터 풀컬러 연예인 얼굴까지 GAN으로 이미지를 생성해보며 안락하게 GAN을 익힐 수 있게 구성했다. 수학 공식은 줄이고 친절한 그림과 문장으로 개념 원리를 알려준다.

  • 저자 : 타리크 라시드
  • 번역 : 고락윤
  • 출간 : 2021-03-10

 



# 책은 한빛미디어 나는리뷰어다로 받았습니다.

 

20210321_215415_HDR.jpg

 

 

 보라보라 책표지도 예쁨.

 

중학교 1학년 때, 무슨생각이었는지 Python이랑C언어 독학해서 만든 프로그램도 없었으면서 "오 이거 재밌겠다!"라는 생각으로 딥러닝과 머신러닝 책을 도서관에서 잔뜩 빌려다 읽었다.

 

무조건 라즈베리파이에서Tensorflow를 설치해서 딥러닝을 할꺼라는 이상한 집착때문에 책만 읽고, 예제도 제대로못돌려 봤지만 말이다.

 

지금생각하면 GTX1050달린이 놑북에서도 간단한 GAN 예제돌리면 한시간 반 걸려서 책과는 다른 결과물을 주고 가는데 왜 굳이불쌍한 라즈베리파이3을 괴롭혔는지 모르겠다.

 

 

어쨌든,

결국 라즈베리파이에서 텐서플로설치는 실패했지만 지금까지 내가인공지능 관련 책을 포기하지 않고 계속 읽고, 이 분야에 계속 관심을 갖게 해준 책이 있었다.

신경망 첫걸음. 

이 책에선 무려 라즈베리파이 제로로 인공신경망을 돌린다!

간단한 예제였지만, 20분이나걸린다.

 

어쨌든 이 책이 아니었으면"딥러닝인가 머신러닝인가 하는거 재미 하나도 없네" 하고, C언어나 Python책은 배게가 되었을지도 모른다.

 

집착하던 텐서플로는 아니었지만 이 책을 따라해서 매우 간단한예제를 라즈베리파이로 돌리는데 성공했고, 관심없던 컴퓨터에 조금 찾아보면서 내가 바보짓을 하고 있다는것을깨달았다.

 

 

그 후 널럴한 자유학기제 시간을 이용해 다른친구들 학교에서 샌안드레아스볼때 나는 미분을 이해하려고 하고 있었고, 

대충 인공신경망이 뭐하는건지 조금씩 감을 잡기 시작했다.

 

결론은 이 책 쓰신분 최고고,쓰신분 새로나온책 읽었다는거다.

 

GAN: 생성 적대적 신경망(Generative Adversarial Network)

 

간단히 요약하면

하나는 만들어내고(Generative)

하나는 그거를 판별하고,

정답이랑 비슷해질때까지

싸운다(Adversarial)

비슷해진다 판단하면 그걸 출력하는 Network.

 

 

자세한 건 책 참고.

 

어쨌든 이번 책도 꽤 어렵지 않고, 이해하기 쉽게 설명해준다.

이해했다고 착각했을수도 있지만,몇번 더 읽다보면 완전히 이해했다 할 수 있을 것 같다.

 

덤으로 Pytorch까지가르쳐준다!!

 

저번책에선 "미분을 시켜봅시다. " 하면서 쉽게 설명하지만 어려운 쪽에 속하는 내용이었는데 이제는 그냥

 

y.backward()

 

이거면 미분된다.

매우 간단하다.

 

그러면 파이토치나 텐서플로같은 프레임워크만 배우면 쉽게 만들수있는가?

그건 아닌 것 같다.

 

일단 사용하긴 간단하긴 하지만,

그래도 CNN, GAN 같은네트워크가 어떤 순서로 돌아가는지도 알아야하고, 언제 무슨 활성화 함수를 넣어야하고,

 

왜 출력이 ㄻㄴ어ㅣㅣㄴㅇ러ㅏ;ㅁㄴㅇ러ㅏㅣ; 하게 생겨서 제대로 작동되지 않는지 알려면

위의 '신경망 첫걸음'이나 '밑바닥부터 시작하는 딥러닝'같은책으로 딥러닝용 프레임웤 없이 최소한의 라이브러리만으로 작성된 신경망 코드를 돌려볼 필요가 있을 것 같다.

 

 

나처럼 라즈베리파이갖고 무작정 텐서플로 설치해서 딥러닝 공부한다고시작해서 혼자 딥러닝 배우는 사람이면 말이다.

 

 

뭐 대학가면 다 가르쳐주겠지만.

 

 

 

다시 책 이야기를 더 하자면,이번 책은 구글의 COLAB을 이용해 진행한다.

그래도 1050이라는조그만 외장 그래픽 달린 노트북 있다고, 직접 주피터 노트북에 작성하면서 해봤는데, 시간적인 면에서 성능좋은 코랩쓰는게 훨씬 낫다.

 

책에선 손글씨나 얼굴사진으로 예제를 실행하는데 조만간 동아리시간에 가능하다면 "안녕"합성네트워크 같은거만들면 재밌겠다는 생각이 들었다.

 

그리고 합성곱 GAN같은것도설명하는데, 완전연결에 기초를 둔 GAN보다 성능도 좋고, 메모리도 적게 사용한다고 한다.

대신 CNN의 정보가지역화된 정보고 전체적 관계는 학습하지 않아서 얼굴사진을 사용하면 부조화같은게 생기는 단점이 있다고 하는데, 아마구글링 해보면 해결책이 있지 않을까 싶다.

 

이건 재밌을 것 같은데, 학교에서읽느라 못 돌려봄.

 

 

 

 

나중에, 예제 한번씩더 돌리면서 복습해보던지 해야겠다.



 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?