코딩학원에서 주말 첫 수업을 위해 책을 받으러 학원으로 갔다왔다.
파이썬 기초반 (초등)의 수준을 알 수가 없어서 책이 필요했다. 다행히 초등학생을 위한 파이썬 책이 따로 있었다.
책은 읽어보니까 반복문, 조건문, 함수, 리스트 뭐... 비슷했는데, 확실히 초등학생을 위해 내용은 쉽고, 그림은 많았다.
(내 수준에 딱 맞던데...)
책만 있다고 아이들에게 VScode를 설치해서 파이썬을 가르치긴 어렵다고 생각했다. 그래서 "앨리스 아카데미"를 사용하기로 함. 사실 내가 받은 책이 앨리스에서 만든 책이기도 함. ㅎㅎ
뭐, 이제 수업 자료 만들어지... 😑😑
https://academy.elice.io/courses/18873/info
인공지능에 도움되는 사이트 및 영상
사실 핵심은 여기부터다. 난 인공지능 교육을 이제 듣게 되지만 인공지능을 만들어 본 적이 없다. 그래서 학원에서 부원장님이랑 다른 선생님한테서 조언을 들었다.
1. 모두의 머신러닝/딥러닝
아직 자세히는 읽어보지는 않았다. 내가 미래의 나에게 바치는 선물이다. 그래서 블로그를 쓰면서 조금 씩 읽어보고 있으며, 가능하면 리뷰식으로도 써볼까 한다.(미래의 나에게 일 떠넘기기 ㅎ)
자료는 영상, ppt로 이루어져 있으며, 영상은 다행히 한국어다ㅎ
그리고 텐서플로우(TensorFlow)을 사용한다. 텐서플로우란 다양한 작업에대해 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리이다. 기본적으로 C++로 구현 되어 있으며, python, java, go 등 다양한 언어를 지원한다. 대부분의 기능이 python 라이브러리로 구현되어 있다. 즉, 파이썬으로 개발하는 것이 좋다고 생각한다.(강요는 아님)
강의 하나하나가 그리 길지 않아서 빈 시간에 조금씩 보면 좋을거 같다
2. Deep leanring AI
이 정보는 유튜브 영상에 있다. 아쉬운 점은 영어로 말한다...더 아쉬운 점은 자막에 한글이 없다...영어 듣기랑 인공지능 공부를 한번에... 짱...
유튜브에 "Deep leanring AI" 검색하면 뜬다.
https://www.youtube.com/c/Deeplearningai
3. 케라스
케라스는 파이썬으로 작성된 오픈 소스 신경망 라이브러리이다. MXNet, Deeplearning4j, 텐서플로, Microsoft Cognitive Toolkit 또는 Theano 위에서 수행할 수 있다.(위키백과)
딥 신경망을 쉽고 빠르게 코딩할 수 있도록 해주는 모듈 방식의 확장 가능성에 초점을 둔 라이브러리이다. 즉, 고차원 딥러닝을 케라스 API를 통해 코딩을 할 수 있다. 유저를 위한 API를 제공하여 쉽게 딥러닝 모델을 만들어 낼 수 있다. 인공지능 코딩에 가장 많이 쓰이는 라이브러리라고 한다.(난 안써봐서 모름...애당초 처음들었음)
부원장님께서 케라스를 알려주셨을 때, 걱정도 하셨다. 만약, A가 B로 필터(?)를 하기 위해선 엄청난 시간과 공부가 필요하다고 한다. 하지만, 케라스 API를 이용하면 쉽게 필터(?)가 가능하다고 하셨다. 문제는 여기다. 케라스 API가 A에서 B로 쉽게 처리를 해주었지만, API를 사용하는 유저는 A와 B 사이의 필터 과정을 알기 어렵다는 것이다. 이말은 A와 B를 상세한 필터를 직접 코딩하기 어렵다는 말이다. (이해는 됐지만, 실제론 어떤 과정인지는 모르기에 직접 해보면 알거 같다)
4. 3blue 1brown
이 정보도 유튜브 영상이다. 무려 450만명의 구독자를 가진 유튜브다... 이 유튜브는 인공지능(머신러닝/딥러닝)를 설명해주는 영상이 아니라, 수학을 시각적으로 표현해주는 유튜브다. 사실 인공지능이 수학과 관련이 많기에, 개발하다 수학적으로 이해가 안되면 보면 좋을 거 같다.
아쉬운 점은 영어고, 자막도 영어다. 하지만, 영상을 보면 CG인지 편집인지 모르겠지만, 그래프 같은 것도 3D로 이쁘게 보여준다. (세상은 넓고, 고수는 많다...)
유튜브에 "3blue 1brown"을 치면 나온다.
https://www.youtube.com/c/3blue1brown
5. 넘파이(Numpy)
NumPy는 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리 할 수 있도록 지원하는 파이썬의 라이브러리이다. NumPy는 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공한다(위키백과)
넘파이에 대해선 부원장님과 다른 선생님들이 공통적으로 중요하다고 했던 것이다. 주로 행렬화 되어있는 데이터를 다루는데 사용되는 거 같다.(나중에 직접 써보면서 공부하는게 나을듯해보임.)
6. 판다스(pandas)
pandas는 데이터 조작 및 분석을 위한 Python 프로그래밍 언어 용으로 작성된 소프트웨어 라이브러리 입니다. 특히 숫자 테이블과 시계열 을 조작하기 위한 데이터 구조 와 연산을 제공합니다.(위키백과)
판다스도 부원장님과 다른 선생님들이 공통적으로 추천해준 라이브러리이다.
얘도 나중에 사용하면서 글을 쓰는게 나을듯하다.
7. 캐글 - 타이타닉 문제
캐글은 2010년 설립된 예측모델 및 분석 대회 플랫폼이다. 기업 및 단체에서 데이터와 해결과제를 등록하면, 데이터 과학자들이 이를 해결하는 모델을 개발하고 경쟁한다. 2017년 3월 구글에 인수되었다.(위키백과)
대학교 때 잠깐 캐글이란 단어를 들어보긴 했다.(들어보고 바로 잊어버림ㅎ) 내가 듣는 인공지능 교육 커리큘럼 중 마지막이 캐글 대회 참여이다. 물론 당장은 못해도 미래의 나를 위해 써본다.
한번 튜토리얼 보라고 추천 받은 문제는 "타이타닉" 문제이다. 문제는 생존자를 예측하는 것이다.
블로그를 쓰기 위해 구글에 "캐글 타이타닉 튜토리얼"을 처보고 다른 블로그를 봤다. 미래가 갑갑하다. 끝.
8. 핸즈온 머신러닝
책추천도 받았다. 음.... 뭘 써야할지... 일단 추천받았다... 나중에 내가 사보긴 할까...?
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791162242964
후기
앞으로 인공지능 공부를 위해 많은 시간을 투자해야 할 거같다... 토익도 해야하는데...
뭐 못할 건 없다. 다만, 좀 느릴뿐...
제일 먼저 알아봐야 할 것은 "넘파이", "판다스" 인거 같다. 인공지능(머신/딥)의 모델을 만들기 위해선 데이터가 중요하다. 데이터 없이는 모델을 만들 수 없으니까 (어떤 사이트는 인공지능에 들어갈 데이터도 사고 팔던데...?) 데이터를 내가 사용할 수 있게 만드는 기초 과정에 넘파이,판다스가 쓰이는 것 같다. 즉, 데이터를 쓸려면 넘파이와 판다스를 쓸 줄 알아야한다. ㅎ
앞으로 머리 터질일만 남았다. 오늘은 쉬어야지...아 수업자료 만들어야 된다...😢