글쟁이, 코딩한다

0121 / k_digital 32일차 / 딥러닝(TensorFlow실습, 활용사례) 본문

나는 코딩도 한다/TIL

0121 / k_digital 32일차 / 딥러닝(TensorFlow실습, 활용사례)

Algori 2021. 1. 21. 23:59

0.

딥러닝 실습 코드. 

TensorFlow 1.

TensorFlow 2.

두 버전을 다 배웠으나 기억에 남길만한 버전 2. 코드들을 남긴다. 

 

주피터 노트북 캡처본에 바탕. 코드는 강사님이 알려준 대로. 

 

 

 

하나. 데이터셋 불러오기 & 전처리

 메인 dataset은 mnist, training data는 60000행, 784열

 

둘. 주요 레이어 생성

 

 layer 수, unit(층별 퍼셉트론) 수, initializer초기화, activation function활성화 함수, batchnorm, dropout 등을 설정한다.

 예시는 히든레이어 2개를 가진 멀티클래스 분류 문제다.

셋. 모델 학습

 

 compile 단계 : optimizer최적화 프로그램, loss function, metrics평가 지표 등을 선택

 학습 단계 : batch_size배치 수, epochs, validation split 등을 선택

 

넷. 모델 평가

 

evaluate, history 등을 활용해 평가 지표들을 확인, 활용할 수 있다.

matplotlib을 활용해 이런 loss 그래프도 그릴 수 있다.

 

번외1

 

TensorFlow 1.0 대 코드들을 읽을 때 가장 헷갈렸던 개념들

 

#계산 그래프를 실제 돌리려면 Session( )을 열고 run을 가동해야 한다. 닫아주는 것도 중요.

#초기화 변수들을 담아주는 tf.Variable( )

#데이터가 흘러들어올 접시 tf.placeholder( ) -> feed_dict={ }으로 실제 데이터들을 밀어 넣는다.

#layer 생성 : 차원 생성(차원을 맞추는 것이 무척 중요) -> 활성화함수 적용 

#데이터를 학습하기 전에는 Variable들을 모두 초기화해줘야 한다.

... etc ...

 

 

번외2

 딥러닝 활용 분야

 

사람이 세상을 인식하는 방법들에 맞춰 컴퓨터(딥러닝 모델)도 세상을 연구한다.

CV. Computer Vision ; 시각 관련 분야. 컴퓨터가 세상을 바라보고 인식하는 방법을 연구
NLP. natural Languae Programming ; 말 관련 분야 
Audio. 소리 관련 분야 
Robotics(로봇 행동), Generative Model(생성 모델), 강화학습 ...

 

Object Detection 이미지 속 사물의 위치, 종류를 알아보자. 1 네모 영역을 찾고 2 그 안 물체를 판단

Image Segmentation 이미지 내용들을 pixel 수준으로 분류해낸다. 자율주행, 의학 진단 등에서 많이 쓰인다.

Image Captioning 이미지를 보고 해설해준다. 사진에서 다양한 정보 Text를 뽑아낸다. CNN + RNN. 

 

  ++ CNN

 -촘촘한 모델이 아닌 Filter를 활용해 이미지 특징 하나를 찾아낸 Feature Map을 형성한다. 이렇게 여러 Map을 얻어 이미지의 특징들을 조합한다. Filter용 θ 몇 개만 찾으면 쓸 수 있다. 이미지 파일 딥러닝 학습의 기본 방식. 우선은 아주 짧게나마 이 정도로만 인식하고 넘어간다. 중요 개념이라 추후 공부가 더 필요한 분야.

  ++ RNN

 Recurrent ; 되풀이 ; 자기 자신 안에서 맴돌며 나아간다 ; 기본적으로 Feed foword인 딥러닝의 성격과 달리 뒤도 바라보며 간다 ; 기억을 가진 모델 


BERT 앞 뒤를 두고 구멍난 부분을 메운다. TOEIC BERT. HuggingFace Model Hub. KorBERT. 

딥러닝을 활용한 작문. GPT-3  텍스트를 넣으면 홈페이지, 이미지가 나오기도! 
텍스트 요약(Headline Generator), 영상 만들기, 코드 만들기

 

DCGAN 가짜 이미지 vs 진짜 이미지
 Generator(생성자) 모델은 학습을 바탕으로 가짜 이미지를 만든다.

 Discriminator(식별자) 모델은 이미지가 진짜인지 가짜인지 판별한다. 

  =>남기는 건 Generator : 세상에 존재하지 않지만, 정말 진짜 같은 가짜 이미지를 만들어낸다.

  %활용 가능 분야

사람얼굴 만들기 / 스켈렙톤 따내기 / 제품의 빠른 수정 / 텍스트로 삽화 만들기 / 스타일 입히기 / 흑백을 컬러로 /  데생을 색칠한 이미지로 / 사진을 애니메이션으로 / 이미지 빈 곳 채우기 / 픽셀 복구 / 해상도 극대화 / 딥페이크 / 인공지능 앵커 / AI 배우(synthesia) / 사람의 목소리로 얼굴 만들기 / 자동 인테리어 / 포즈 따내기

 

음성 합성, 기계 번역, 음성 통역

 

 

오늘의 작은 생각

 

 딥러닝은 진짜보다 진짜같은 가짜들을 만들어낸다. 물론 인간이 만드는 것만을 진짜라고 정의할 때 말이다. 창작물에서 수없이 나왔듯 '인간다움'에 대한 질문은 딥러닝이 탄력을 받을수록 중요해질테다. 인간을 정말, 인간으로 남긴다는 전제 하에 말이다.  

 나는 인간이라는 이유로 가치를 인정받을 것이라며 안일했던 듯하다. 나와 AI가 할 수 있는 일은 이미 비교가 어려울 정도다. 이미 사회는 쓸모있음을 잣대로 굴러가는 중이고 자본에게는 인간보다 AI 모델들이 훨씬 쓸모있다. 이대로 자본이 더 많은 것을 지배하는 구조로 나아가며 자원의 고갈이 눈 앞에 다가올 순간, 즉, 인간다움이 재정의될 시간은 얼마 남지 않았는지도 모른다. 내가 살아있는 와중에 그런 일이 벌어질 수도 있다. 지금 당장에야 인간다움이 더 높은 대접을 받을 것으로 보이지만 말이다. 정말 그런 순간들이 다가온다면, 나는 무엇을 할 수 있을까.

Comments