7. AI 프레임 워크
3강. AI 프레임워크 종류 및 특성(2)
학습내용
- AI프레임워크 종류 및 특성 - 인공지능 개발 도구
학습목표
- 인공지능 개발을 위한 AI 프레임워크의 종류와 특성에 대해 설명할 수 있다.
- 인공지능 개발 도구의 종류와 실행 방법을 설명할 수 있다.
1. AI 프레임워크 종류 및 특성 1) Deeplearning4j(DL4J)
- 자바(JAVA)와 자바 가상머신(JVM)용으로 만들어진 딥러닝 프레임워크 - 아파치 라이선스 2.0에 기반한 오픈소스
- 빅데이터 분산 ∙저장에 특화된 하둡과 스파크 연동 - 자바 이외의 JVM언어, 클로저와 호환
- 이식성이 뛰어남
- Deeplearning4j(DL4J) 특징
→ GPU 연산을 위한 CUDA 커널 포함으로 GPU환경 동작 가능 → 사용자 층이 얕아 커뮤니티 및 학습 자료가 부족
→ 딥러닝에 특화된 구조가 아님
→ 머신러닝을 이용한 이상거래탐지 연구에 활용 → 자연어 처리를 위한 Word2Vec 모델 구축에 활용
2) MXNet
- 워싱턴 대학과 카네기 멜론대학에서 개발 - Apache MXNet 오픈소스 딥러닝 프레임워크 - 폭넓은 언어 지원과 사용범위
- 파이썬, C++, 스칼라, 매트랩, 자바스크립트 등 지원 - 심볼릭과 명령형 프로그래밍 혼합 방식
- MXNet 특징
→ CPU와 GPU 연산 지원(GPU 클러스터에 최적화)
→ ‘Gluon’라이브러리는 학습 속도를 유지하면서 딥러닝 모델의 프로토타입을 쉽게 구축할 수 있게 도움을 주는 라이브러리
→ 사전에 정의된 계층, 손실 함수, 최적화 프로그램을 위한 추상화 제공 → Low-level 텐서 연산자가 적음
→ 흐름제어 연산자를 지원하지 않음
→ 백엔드 프레임워크에 대한 높은 이해도 요구 → 다소 느린 처리 속도
→ 2차원 이미지를 3차원 이미지로 변환하거나 시간에 따른 사용자와 대상 사이 의 관계 예측
→ 이미지 내 객체 인식 연구 등에 활용
2. 인공지능 개발 도구 1) 파이썬 개발도구(IDE)
2) 파이참(PyCharm)
- 프로페셔널 버전과 커뮤니티 버전 2가지 버전이 존재 - 인공지능 개발용으로 커뮤니티 버전(무료)으로 충분
- 파이참 환경에서 코드마다 실행하는 Python의 버전을 선택할 수 있음 - 쉬운 패키지 설치
- 인터프리터 형태로 한 줄씩 실행 가능
- 실행 환경마다 파이썬 버전을 달리할 수 있는 interpreter 기능 제공
3) 주피터노트북(Jupyter Notebook)
- 파이썬, R 등의 언어로 작성된 데이터 과학 애플리케이션용으로 개발되어 각종 프로젝트에 유용
- 데이터 시각화
- 코드 공유(깃 허브)를 통해 웹 브라우저에서 직접 코드 확인 - 웹 브라우저 실행 환경
- 코드와의 실시간 대화 - 주피터노트북의 한계점
→ 세션 상태 저장이 어려움 : 주피터 노트북에서 실행되는 모든 코드는 주피터 노트북의 기본 도구모음으로 보존하고 복원할 수 없음
: 노트북을 불러올 때마다 코드를 다시 실행해야 함 → IDE 기능 부족 : 대화형 디버깅, 자동 코드 완성, 모듈 관리 등의 기능을 지
원하지 않음 - 주피터노트북 설치
→ 아나콘다 설치
→ 아나콘다 환경을 웹에서 사용할 수 있는 주피터 노트북 제공 - 주피터노트북 실행
→ Anaconda Prompt를 이용한 주피터 노트북 실행 → 아나콘다 설치 이후 Anaconda Prompt 실행 → jupyter notebook 명령어 실행
→ 윈도우 검색창에 Jupyter notebook 검색 후 해당 앱 실행 → 우측 상단의 New 버튼을 통해 새로운 Python 파일 생성 → Python 3을 클릭
→ 대화형 인터프리터 형태로 세션마다 실행 → Run 혹은 Shift + Enter 버튼으로 실행 가능
→ Matplotlib 라이브러리를 통해 그래프 시각화
→ Plot의 속성을 주어 직선 / 점을 줄 수 있고 Bar 그래프도 가능
4) Google Colab(Colaboratory)
- Google 계정이 있는 개발자 누구나 이용 가능한 무료 클라우드 서비스
- 파이썬 / Tensorflow / Keras와 같은 AI 프레임워크가 사전에 설치되어 있어 별도의 설치가 필요하지 않음
- 무료로 GPU 제공
→ 컴퓨터 환경이 좋지 않은 경우 유용하게 사용 가능 - Google Drive와 GitHub 연동 가능
- Google Colab 실행 → 웹 브라우저 실행 → Google 계정 로그인
→ URL 입력 : https://colab.research.google.com/
→ 새 노트 클릭 → Python 코드 작성 → Colab 최초 실행 화면
→ Jupyter Notebook과 유사한 UI
→ 특별한 라이브러리 설치 없이 간편히 실행 가능
평가하기
1. 다음 중 Deeplearning4j(DL4J)에 대한 설명이 아닌 것은?
① 아파치 라이선스 2.0에 기반한 오픈소스 프레임워크
② 하둡과 스파크 연동 가능
③ 이식성이 뛰어남
④ 'Gluon'라이브러리를 보유하고 있음 - 정답 : ④번
해설 : Gluon 라이브러리는 MXNet 프레임워크의 라이브러리
2. 다음 인공지능 개발 도구 중 주피터 노트북의 특징으로 올바르지 않은 것은?
① 웹 브라우저 실행 환경
② 구글에서 제공하는 무료 클라우드 서비스
③ 데이터 시각화
④ 코드 공유를 통해 웹 브라우저에서 직접 실행 가능 - 정답 : ②번
해설 : 클라우드 서비스를 이용한 인공지능 개발 도구는 Google Colab
학습정리
1. AI 프레임워크 종류 및 특성 - Deepleraning4j(DL4J)
→ JAVA와 자바 가상머신(JVM)용으로 만들어진 프레임워크 - MXNet
→ Apache 오픈소스 딥러닝 프레임워크 → 폭넓은 언어 지원
2. 인공지능 개발 도구 - 파이참(PyCharm)
→ 자체 디버깅 내장 및 함수 자동 완성기능 제공 IDE - 주피터 노트북(Jupyter Notebook)
→ 웹 브라우저 상에서 코드를 단계적으로 작성 가능한 IDE - Google Colab(Colaboratory)
다음 주 예고
“9. 기계학습” 에 대해 학습하겠습니다.