파이썬/딥러닝

[딥러닝] 딥러닝 기초 [광주인공지능학원]

취준생코린이 2021. 7. 26. 00:44
728x90

딥러닝의 기본 개념

 

전이학습

  • 기본에 잘 만들어진 학습 모델을 가져와서 적용하는 방법
  • 데이터가 부족하고 모델 설계능력이 부족할때 사용한다
  • 예를들어) 사과를 깍는 모델을 이용하여 배를 깍는 모델 생성

 

 

CNN과 심층강화학습 차이

 

심층강화학습

  • 행동에 대해 순위를 계산하고 점수(보상)을 결정

CNN

  • 이미지에 가장 잘맞는 (가능성이 높은, 순위가 높은) 라벨을 선택

 

 

퍼셉트론

  • 1957년 프랑크 로젠블라트에 의해 고안
  • 인간의 신경세포를 모방한것이 인공 신경망(ANN)
  • 인간의 뉴런을 하나의 노드(인공 뉴런)으로 가상화하고 각 노드의 특성(가중치)를 다르게 설정하여 동일한 입력에 대해 다양한 반응을 발생하도록 하게함
  • 퍼셉트론은 다수의 신호를 입력받아 하나의 신호를 출력
  • 입력 신호가 뉴런에 보내질때 각각의 고유한 가중치 w1, w2가 곱해지고 각 입력은 더해진다

 

활성함수

  • 출력을 다음 노드로 전달할 기준을 정하는 함수

 

 

 

다층 퍼셉트론(MLP: Multi Layer Perceptron)

  • 사람은 개상이 무엇인지 판단하는 정보들의 경계를 느슨하게 가지고있다 -> 정확하지 않늠-> 추상적
  • 각 신경 세포(뉴런)은 정보에 대한 각기 다른 기준을 가지고 있다
  • 다층 신경망을 거치면서 정보를 판단하게 된다
  • 하나의 입력에 대해 뉴런들은 다른 판단을 하고 다음 층으로 전달한다
  • 은닉층이 많을 수록 성능이 향상
  • 오차 증사 가능성이 높아져서 오차감소 알고리즘이 필요하다
  • 비선형 데이터를 분리할 수 있다
  • 학습시간이 오래 걸리고 파라미터 수가 많으므로 과대적합을 일으키기 쉽다
  • 가중치가 초기값에 민감하여 지역 최적점에 빠지기 쉽다

 

다층 퍼셉트론 용도

  • 음성인식, 영상인식, 자연어 처리(챗봇), 가상실험 등
    일정하게 정해진 값이 존재하지 않는 데이터
  • 긴 학습 시간이 필요한 데이터
  • 학습 예제에 에러가 존재하는 경우
  • 여러 속성에 의해 표현되는 데이터 등

 

 

딥러닝은 컴퓨터 비젼, 음성인식, 자연어 처리, 신호처리 등의 분야에 적용한다

 

 

딥러닝 프레임워크

 

텐서플로우(Tensorflow)

  • 구글이 2015년 오픈소스로 공개
  • 다양한 언어 지원, 폭넓은 사용자층 -> 가장 널리 사용
  • 알파고의 AI연산 가속기 TPU에도 적용
  • 주요 개발언어: 파이썬
  • 단점: GPU버전은 리눅스만 지원, 다소 느림

케라스(Keras)

  • 파이썬으로 작성된 오픈소스 신경망 프레임워크
  • 비전문가도 쉽게 사용할 수 있다
  • 케라스는 다양한 네트워크 모델을 미리 지원해주고 있으므로, 그냥 블록을 조립하듯이 네트워크를 만들면 되는 식이라, 전반적인 네트워크 구조를 생각하고 작성한다면 빠은 시간내에 코딩을할 수 있는 엄청난 장점이 있다
  • 현재는 텐서플로우 위에서 케라스가 동작하도록 설계되어 있고, 하위 모듈로 구현이 되어있다

 

파이토치(Pytorch)

  • 페이스북 인공지능 연구팀이 만든 파이썬 기반 오픈소스 머신러닝 프레임워크
  • 절차가 간단하고 그래프가 동적으로 변화할 수 있다
  • 코드 자체도 파이썬과 유사해 진입 장벽이 낮은 편
  • 텐서플로우에 비해 사용자층이 얕고 관련 자료를 구하기 어렵다

 

카페(Caffe)

  • 2013년 버클리 인공지능 연구소에서 개발
  • 컴퓨터 비전 머신러닝에 특화, C/ C++ 기반으로 사용
  • CUDA와 딥러닝 라이브러리 cuDNN을 활용해 성능 최적화 가능
  • Caffe2로 되면서 파이토치로 흡수
  • 컴퓨터 비전 분야 이외의 분야에서 타 프레임워크레 비해 성능이 떨어짐
  • 확장성이 낮고 업데이트 느림, 분산 환경 지원 부족

 

DL4J

  • Java와 JVM용으로 만들어진 딥러닝 프레임워크
  • 빅데이터 분산 저장 및 분석에 특화된 아파치 스파크와 연동 가능
  • CUDA커널이 포함
  • 사용자 층이 적음
  • 언어 자체가 딥러닝에 최적화되어 있지는 않음

 

MXNet

  • 아마존이 공식 지원하는 오픈소스 프레임워크
  • 폭넓은 언어 지원
  • 모바일 기기부터 서버 수준까지의 디바이스 사용 가능
  • 속도가 느림, 로우 레벨 텐서 연산자가 적음

 

 

 

스마트인재개발원에서 진행된 수업내용입니다

https://www.smhrd.or.kr/

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

 

728x90