본문 바로가기

대외활동/ABC 지역주도형 청년 취업역량강화 ESG 지원산업

[ABC 220919] 인공지능(AI), 머신러닝, 딥러닝 소개

반응형

인공지능(AI), 머신러닝, 딥러닝(Deep Learning) 소개

  • 인공지능은 더 이상 특정 집단의 기술이 아님. 이미 우리 일상속에 침투해서 편리한 기능을 다양하게 제공 중
    • 스마트폰에 내장된 신경망 기술
    • 유튜브 동영상 추천, 스마트 티비, 스마트 홈 등
  • 제공된 편리한 도구를 이용해서 우리도 직접 기능을 만들어보고, 적용해보고, 서비스를 제공할 수 잇음.
  • 이를 위한 “기초 준비”를 시작
    • 케라스란?
    • 케라스 설치
    • 구글 코랩과 케글 노트북(무료 클라우드)
  • 인공지능 ↔ 머신러닝 ↔ 딥러닝. 서로의 관계는?
    • 인공지능이 가장 큰 범주이고, 다음으로 머신러닝, 마지막으로 딥러닝이 가장 작은 범주라고 할 수 있다.
    • 즉, 인공지능 안에 머신러닝, 머신러닝 안에 딥러닝이 포함
  • 용어의 해석
    • 인공지능 : 학습, 인식, 추적 등 사람이 할 수 있는 작업과 할 수 없는 작업을 컴퓨터가 할 수 있도록 하는 것. 이외에도 여러 가지 의미로 직접 정의할 수 있음
    • 머신러닝 : 기계가 학습하는 것
    • 딥러닝 : 깊은 신경망

머신 러닝 (ML ; Machine Learning)

  • 기계 학습 또는 머신 러닝은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구
  • 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야
  • 머신러닝은 “우리가 어떤 것을 작동시키기 위해 ‘어떻게 명령할지 알고 있는 것’ 이상을 컴퓨터가 처리한 것이 가능한가?” 특정 작업을 수행하는 법을 스스로 학습할 수 있는가? 질문에서 시작
  • 머신 러닝 시스템은 명시적으로 프로그램되는 것이 아니라 훈련(trainig)
  • 1990년대 들어와서 각광 받기 시작 → 고성능 하드웨어와 대량의 데이터셋이 가능해지면서 AI에서 가장 인기 있고 성공적인 분야가 됨.

딥러닝 (Deep Learning)

  • 머신 러닝 알고리즘 - 샘플과 기댓값이 주어졌을 때 데이터 처리 작업을 위한 실행 규칙을 찾는 것 - 머신러닝의 학습(Learning)이란 더 나은 표현을 찾는 자동화된 과정
  • 딥러닝 알고리즘 - 머신 러닝의 측정한 한 분야로서 층(layer)에서 점진적으로 의미 있는 표현을 배우는데 강점 → 데이터로부터 표현을 학습하는 새로운 방식
    • 기본 층을 겹겹이 쌓아 올려 구성한 신경망이라는 모델을 사용하여 표현층을 학습
    • 딥러닝의 학습이란 주어진 입력을 정확한 타깃에 매핑하기 위해 신경망의 모든 층에 있는 가중치 값을 찾는 것을 의미
    • 원본 이미지와는 점점 더 다른 표현으로 이미지 변환 → 다단계 정보 추출 작업
    • 데이터 표현을 학습하기 위한 다단계 처리 방식

딥 러닝(Deep Learning) 성과

  • 딥러닝은 머신러닝의 오래된 하위 분야이지만 2010년 초가 되어 유명해짐
  • 사람에게서 자연스럽고 직관적으로 보이지만 기계로는 오랫동안 해결하기 어려웠던 시각, 청각 같은 지각의 문제에서 괄목할 만한 성과를 이룸
    • 사람과 비슷한 수준의 이미지 분류
    • 사람과 비슷한 수준의 음성 인식
    • 사람과 비슷한 수준의 필기 인식
    • 향상된 기계 번역
    • 향상된 TTS(TExt-To-Speech)변환
    • 구글 나우(Now)와 아마존 알렉사(Alexa)와 같은 디지털 비서
    • 사람과 비슷한 수준의 자율 주행 능력
    • 구글, 바이두 등에서 사용하는 향상된 광고 타기팅(targeting)
    • 자연어 질문에 대답하는 능력
    • 사람을 능가하는 바둑 실력
  • 딥러닝이 과학, 소프트웨어 개발 등에서 사람을 보조하게 되는 시대로 발전

AI 전망

  • 1960년대 심볼릭 AI 기대
    • 1967년 이번 세대 안에 인공지능을 만드는 문제는 거의 해결
    • 3년 후에 1970년 3~8년 이내에 평균 적은 사람 수준의 일반지능을 가진 기계가 나올 것
    • 1970년 성과를 이루지 못해 연구자자들과 정부 자의 툽부가자 줄었음, 첫번째 AI 겨울
  • 1980년 심볼릭 AI 새로운 버전의 전문자 시스템 큰 기업들 사이에 인기 끌기 시작
    • 전문가 시스템 구축을 위해 내부에 AI 부서를 꾸리기 시작
    • 1985년 연간 10억 달러 이상 사용
    • 1990년 초기에 시스템 유지 비용이 비싸고 확장하기 어려우며 제한된 범위를 가진다는 것이 증명되어 두번째 AI 겨울
  • 2012년 이후 현재 세 번째 싸이클을 목격하고 있을지 모름
    • BUT 아직까진 매우 낙관적인 단계
    • 기술적 측면을 잘 모르는 사람들에게 딥러닝이 할 수 있는 것과 없는 것에 대해 명확하게 이해시키는 것이 좋음

왜 딥러닝일까? 왜 지금일까?

  • 컴퓨터 비전에 대한 딥러닝 두 가지 합성곱 신경망, 역전파는 이미 1989년 소개
  • 시계열을 위한 딥러닝 기본인 LSTM(Long Short-Team Memory) 알고리즘 1997년 개발
  • 1990년대와 2000년대에 걸친 진짜 병목은 데이터와 하드웨어 → 2012년 이후 딥러닝이 부상
  • 하드웨어
    • CPU 1990년 - 2010년 사이 거의 5,000배 빨라짐
    • NVIDIA, AMD 그래픽 성능을 높이기 위해 GPU를 개발하는 데 수십억 달러를 투자
    • 대형 CPU 클러스터가 소량의 GPU로 대체되기 시작 → CUDA를 사용한 신경망 구현
  • 데이터셋과 벤치마크
    • 무어의 법칙 저장 장치의 급격한 발전
    • 데이터 셋을 수집하고 배포할 수 있는 인터넷 성장이 시장의 판도를 바꿈
  • 알고리즘 향상
    • 신경망의 층에 더 잘 맞는 활성화 함수
    • 가중치 초기화, 최적화 방법으로 10개 이상의 층을 가진 모델 훈련 가능
  • 새로운 투자 바람
  • 딥러닝의 대중화 → “딥러닝” 마케팅 용어 → AI 분야가 많은 투자에 큰 영향
  • 머신러닝으로 풀 수 있는 문제 : 비지도 학습
    • 입력은 주어지지만, 출력(정답, 레이블) 없는 데이터를 비슷한 특징끼리 군집화 하여 새로운 데이터에 대한 결과를 예측하는 비지도 학습 알고리즘
    • 성공 사례는 많지만 비지도 학습을 이해하거나 평가하는 일은 쉬지 않음
    • 비지도 학습의 예
      • 블로그 글의 주제 구분
      • 고객들을 취향이 비슷한 그룹으로 묶기
      • 비정상적인 웹사이트 접근 금지
  • 문제와 데이터 이해하기
    • 지도 학습과 비지도 학습 모두 컴퓨터가 인식할 수 있는 형태로 입력 데이터를 준비하는 것이 매우 중요
    • 머신러닝 프로세스에서 가장 중요한 과정은 사용할 데이터를 이해하고 그 데이터가 해결 해야 할 문제와 어떤 관련이 있는지를 이해하는 것임

왜 파이썬인가

  • 파이썬(Python)은 데이터 과학 분야를 위한 표준 프로그래밍 언어
    • 파이썬은 범용 프로그래밍 언어의 장점은 물론 매트랩(MATLAB)과 R과 같은 특정 분야를 위한 스크립팅 언어의 편리함을 함께 갖춤
    • 다양한 도구, 데이터 적재, 시각화, 통계, 자연어 처리, 이미지 처리 등에 필요한 라이브러리 존재
    • 터미널이나 주피터 노트북(Jupyter Notebook)같은 도구로 대화하듯 프로그래밍을 할 수 있음
    • 머신러닝과 데이터 분석은 데이터 주도 분석이라는 점에서 근본적으로 반복 작업, 따라서 반복 작업을 빠르게 처리하고 손쉽게 조작할 수 있는 도구가 필수
    • 범용 프로그래밍 언어로서 파이썬은 복잡한 그래픽 사용자 인터페이스(GUI)나 웹 서비스도 만들 수 있으며 기존 시스템과 통합하기도 좋음

scikit - learn

  • 오픈 소스인 사이킷런(scikit-learn)은 자유롭게 사용하거나 배포 가능
    • 잘 알려진 머신러닝 알고리즘들은 물론 알고리즘을 설명한 풍부한 문서도 제공
    • 사이킷런은 매우 인기가 높고 독보적인 파이썬 머신러닝 라이브러리임
    • 산업 현장이나 학계에도 널리 사용되고 많은 튜토리얼과 예제 코드를 온라인에서 쉽게 찾을 수 있음
    • 사이킷런은 다른 파이썬의 과학 패키지들과도 잘 연동됨
  • 사이킷런 설치
    • scikit-learn은 두 개의 다른 파이썬 패키지인 넘파이(NumPy)와 사이파이(SciPy)를 사용
    • 그래프를 그리려면 맷플롯립(matplotlib)을, 대화식으로 개발하려면 아이파이선(Ipython)과 주피터 노트북도 설치해야 함
    • 필요한 패키지들을 모아 놓은 파이썬 배포판을 설치하는 방법을 권장
      • Anaconda : 대용량 데이터 저리, 예측 분석, 과학 계산용 파이썬 배포판
      • Enthought Canopy : 과학 계산용 파이썬 배포판
      • Python(x,y) : 윈도우 환경을 위한 과학 계산용 무료 파이썬 배포판

무료 클라우드 사용하기

  • 딥러닝은 개발환경이 좋을수록 성능이 좋아질 가능성이 높음
    • 돈이 없으면 실험도 못해본다는 말은 과언이 아님
    • 많은 사람이 신경망 모델 구축을 위해서는 GPU가 필수라고 함
  • GPU가 없으면?
    • 구글 코랩(Google Colaboratory)
    • 캐글 노트북(Kaggle Notebooks)
  • 무료로 GPU를 사용하게 해주기 때문에 GPU가 없다면, 위 두가지를 적극 사용하기를 권장함

캐글 노트북

  • 캐글 (Kaggle) : 데이터 과학자들을 위한 놀이터
    • 상금이 걸린 대회가 다양한 데이터를 통해 개최
    • 타이타닉 생존자 예측, 보스턴 집값 예측 등 다양한 튜토리얼 예제 마련
    • 캐글 노트북을 통해 고수들의 분석 기술을 무료로 살펴볼 수 있음

정리

  1. 인공지능 ← 머신러닝 ← 딥러닝
  2. 오픈 소스인 사이킷런(scikit-learn)은 자유롭게 사용하거나 배포 가능
  3. 머신러닝 학습을 위해서 GPU 보유 여부는 매우 중요함
  4. GPU를 보유하고 있지 않더라도 우리에게는 구글 코랩과 캐글 노트북이 존재
  5. 무료 GPU는 사용 시간이 제한되어 있으니, 주의해서 사용
  6. 캐글의 최대 강점인 캐글 노트북은 전문가들의 노하우를 볼 수 있는 최고의 기술서
LIST