반응형
인공지능(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) : 데이터 과학자들을 위한 놀이터
- 상금이 걸린 대회가 다양한 데이터를 통해 개최
- 타이타닉 생존자 예측, 보스턴 집값 예측 등 다양한 튜토리얼 예제 마련
- 캐글 노트북을 통해 고수들의 분석 기술을 무료로 살펴볼 수 있음
정리
- 인공지능 ← 머신러닝 ← 딥러닝
- 오픈 소스인 사이킷런(scikit-learn)은 자유롭게 사용하거나 배포 가능
- 머신러닝 학습을 위해서 GPU 보유 여부는 매우 중요함
- GPU를 보유하고 있지 않더라도 우리에게는 구글 코랩과 캐글 노트북이 존재
- 무료 GPU는 사용 시간이 제한되어 있으니, 주의해서 사용
- 캐글의 최대 강점인 캐글 노트북은 전문가들의 노하우를 볼 수 있는 최고의 기술서
LIST
'대외활동 > ABC 지역주도형 청년 취업역량강화 ESG 지원산업' 카테고리의 다른 글
[ABC 220920] 지도 학습 알고리즘 - 분류와 회귀 (1) | 2022.09.30 |
---|---|
[ABC 220919] 머신러닝 프로세스 (1) | 2022.09.27 |
[ABC 220913 ~ 220919] First Project (0) | 2022.09.23 |
[ABC 220911 - 17일차] 실습 (혼자 해봄) (0) | 2022.09.11 |
[ABC 220907 - 17일차(결석)] 유튜브 댓글 크롤링 및 워드 클라우드 (0) | 2022.09.11 |