싸지방에서 인공지능(AI) 코딩하기
오늘부터 이 블로그에 내가 코딩하고 공부하는 과정들을 글로 남겨보려고 한다.
첫번째 이유로는, 내가 이만큼 공부했다는 걸 남기기 위함이고
두번째 이유로는, 인간은 망각의 동물.. 까먹었을 때 다시 공부하기 위함이다.
하지만 무려 코딩 환경은 싸지방이라는 현실...ㅠㅠㅠ
왜 싸지방에서까지 코딩을 하냐 물어본다면 답변은...
본인 성격상 시간을 허투루 보내는걸 못 참기 때문..ㅎㅎ!!
20대 초반을 군대에서 가만히 앉아서 날릴 수만은 없다!!
우리 부대는 특성상 휴대폰을 사용할 수 없는 곳이지만, 그만큼 싸지방을 다양한 시간대에 많이 이용할 수 있는 환경이다.
오히려 좋아~~!!
개인정비 때마다 드러누워서 핸드폰만 하다 보면 내 성격에 벌써 불안증세가 왔을 것이다ㅋㅋ
그렇다면 싸지방에서 코딩을 할 수나 있을까??
나는 누구일까? (Who am I?)
본인은 안드로이드 개발자를 목표로 하고 있는 대학생이자 군인이다.
하지만 이 곳에서 할 수 있는 개발은 지극히 국한적이다.
대부분의 군필자들은 아는 사실이겠지만 이 글을 읽는 미필분들을 위해 간단히 설명하자면..!!
1. 싸지방 컴퓨터에는 특정 프로그램이 실행중인데 재부팅을 하면 다운로드한 자료들이 모두 증발한다.
2. 그렇다고 싸지방 컴퓨터를 종료하지 않을 수도 없는 노릇이고, 안드로이드 스튜디오를 매 시간마다 다운로드한다는 건 배보다 배꼽이 더 큰 일이다.
이러한 이유로 싸지방에서 Android MVC MVP MVVM / 유용한 Android Library / Kotlin / HTML CSS JS / Python 기반 Machine Learning / SpringBoot 등을 인터넷과 책을 통해 눈으로만 공부해왔다.
그러고 나서 휴가 때 집에 도착하자마자 싸지방에서 공부한 Kotlin언어로 안드로이드 앱을 개발해보았다!
하지만 직접 손으로 타이핑하며 공부한 게 아니다 보니, 눈으로 봤을 땐 그렇게도 낯익던 코틀린이 컴퓨터 책상 앞에선 너무나 낯설게 느껴졌다.
(역시 코딩은 경험이 최고인 걸 다시 한번 깨달은..ㅎ)
코틀린 언어를 이용한 안드로이드 개발은 전역하고 질리도록 해야겠다.
그래서 결론적으로 내가 싸지방에서 공부해볼 주제는?!?!!
인공지능 (Artifical Intelligence)
그렇다면 왜?? Why?
인공지능은 파이썬이라는 언어로 구현해낼 수 있다는 사실은 다들 어디선가 많이 들어봤을 것이다.
파이썬은 비교적 다른 언어에 비해 가볍기 때문에, 설치하는 데에도 적은 시간이 소요되는데, 이는 언제 초기화될지 모를 싸지방 컴퓨터에서 공부하기에 제격이라고 할 수 있다.
두 번째 이유는, 그동안 책과 인터넷의 글로만 공부했던 인공지능을 직접 구현해보고 싶어서이기 때문이다.
위에서 언급했듯이, 코틀린을 눈으로 아무리 공부해도 직접 코딩해보는 것만 못하다는 생각이 들었던 경험 때문이다.
인공지능은 어떻게 구현할 수 있을까?
파이썬에서는 인공지능을 구현할 수 있는 텐서플로우 (Tensorflow)와 케라스(Keras)라는 라이브러리를 사용할 수 있다.
이 두 라이브러리에 대해 간략히 설명하자면,
Tensorflow는 구글에서 개발하고 오픈소스로 공개한 머신러닝 라이브러리이고,
Keras는 Tensorflow 위에서 동작하는 머신러닝 라이브러리이다.
두 차이점을 말해보자면, Tensorflow는 Keras에 비해 처음 접하기에는 꽤나 난이도가 있다.
하지만, 그만큼 Keras에 비해 디테일한 조작이 가능하고, 내부 구조를 확인할 수 있는 디버거를 사용할 수 있다는 장점이 있다.
그에 반해, Keras는 처음 접하는 개발자에게 친화적으로 구현되어있어 매우 간단한 모델을 구현하거나, 빠른 시간 내에 프로토타이핑을 할 수 있는 특징이 있다.
(때문에, 다음 글에서는 Keras를 주로 사용하여 모델을 설명하고 구현해볼 것이다.)
여기서 더 좋은 점은 Keras가 Tensoflow 1,2부터 통합되었다는 점이다.
간단히 tf.keras를 통해 텐서플로우에서 케라스를 사용할 수 있게 되었다..
이러한 이유로 Keras가 Tensorflow 위에서 동작하는 라이브러리라고 표현되는 것이다.
안드로이드 개발자라고 해서 안드로이드 개발만으로 배움을 멈추는 행동은 미련한 짓이다!
여러 경험을 통해 스택을 쌓아보자!!
다음 글부터는 파이썬을 이용한 인공지능 학습 모델에 대해 알아볼 예정이다.
내가 기록한 공부내용들을 다른 사람들이 읽고 쉽게 이해할 수 있었으면 하는 바람이다.
💖댓글과 공감은 큰 힘이 됩니다!💖