rosas***
2021-08-22

텐서플로 라이트를 활용해 모바일 환경에서 딥러닝을 연동하는 방법을 안내하는 도서. 텐서플로 라이트에서 제공하는 모델 및 딥러닝의 경량화 등을 그림을 이용해 설명한다.
스마트폰이 일상에 가까워지면서 앱을 만들어고 싶다는 생각이 항상 마음 한 켠에 자리잡고 있었습니다. 그래서 이번에 선택한 책은 딥러닝 모델을 생성하고 이를 적용한 앱을 만드는 '텐서플로 라이트를 활용한 안드로이드 딥러닝'입니다. 막연하기만 한 딥러닝과 실제 이를 활용한 앱 개발을 한 권으로 배울 수 있어 정말 탁월한 기획력이 돋보이는 책인 것 같습니다.
텐서플로 라이트는 텐서플로로 만든 딥러닝 모델을 모바일 환경에서 활용할 수 있는 모바일용 기계학습 라이브러리입니다. 텐서플로 라이트와 안드로이드 스튜디오를 이용하여 앱을 만들기 위해서는 파이썬과 자바를 많이 사용하게 되므로 파이썬과 자바에 대한 기초지식이 필요한 책이기도 합니다. 손글씨 모델을 구현하기 위해 케라스를 사용하기도 합니다. 저는 자바에 아직 익숙치 않지만 각 코드들에 대해 친절하게 설명되어 있어서 책을 따라하며 익혀갈 수 있습니다. 코딩에 관한 기초지식이 있다면 너무 걱정하지 않으셔도 됩니다.
실제로 책을 따라하며 앱 개발을 진행하기 위해서 처음에는 안드로이드 스튜디오와 아나콘다, 비쥬얼 스튜디어 코드 등을 설치해야 합니다. 저는 텐서플로를 설치하다가 오류가 난 이후 포기했던 적이 있는데, 책에서 모든 과정들에 대하여 상세하게 설명되어 있어 무사히 진행할 수 있었습니다. 정말 감사한 책입니다. 어떤 항목을 눌러야 하는지만 표시된 책도 있는데, 왜 선택해야 하는지 어떤 기능인지 등도 자세히 설명되어 있어서 이해하며 따라할 수 있습니다.
앱을 개발하기 위해서 안드로이드의 주요 구성요소들과 각 역할들에 대해 먼저 공부하게 됩니다. 앱이 실행되고, 백그라운드에서 동작하고 결과물을 공유하는 다양한 액티비티들이 정말 흥미롭네요. 만들어진 앱만 사용하다가 앱의 실체를 알아가고 이해할 수 있게 되니 무척 재미있습니다. 특히 중요한 내용들을 이렇게 별도로 설명하였는데 무척 유용한 내용이 많습니다.
안드로이드 앱의 기본 구성을 익힌 후에는UI를 배치하고 레이아웃을 작성합니다. 각 설정과 수치에 따라 어떻게 화면이 구성되는지 모두 설명되어 있으므로 자신이 원하는 바를 쉽게 선택하여 적용할 수 있습니다.
앱에 관한 기본 구성과 디자인을 설정한 후에는 딥러닝 모델을 개발하고 텐서플로 라이트로 변환하는 방법을 공부합니다. 먼저 안드로이드 앱에서 이용할 딥러닝 모델을 선택해야 하는데, 손글씨 분류 앱을 만들 때는 이미지 분류 모델을 선택하고, 영화 리뷰를 분석할 때는 감성 분석 모델을 선택합니다. 모델을 직접 개발할 수도 있지만, 이미 개발된 모델을 선택할 수 있어 부담없이 딥러닝 모델을 활용할 수 있습니다.
이렇게 선택된 모델은 텐서플로 라이트에서 사용할 수 있도록 변환해야 합니다. 그리고 변환된 파일을 안드로이드 스튜디오에 포함합니다.
딥러닝 모델을 설계하기 위해 인공 신경망인 다층 퍼셉트론 모델을 공부하고 이를 구현해봅니다. 책에서는 손글씨를 구분하는 모델과 사진을 구분하는 모델을 이용하여 설명합니다.
이렇게 변환된 모델을 안드로이드에 추가하여 앱을 개발합니다.
이미지를 확대할 때 사용되는 이미지 보간법에 대한 설명입니다. 이렇게 원리를 설명하는 부분들이 무척 마음에 듭니다. 또한 이미지를 변환하기 위한 시프트 연산 등에 대해서도 자세히 설명해줍니다.
그리고 갤러리에 저장된 이미지를 활용하고 카메라를 다루는 방법도 배울 수 있습니다. 매우 어려울 것만 같던 딥러닝, 그리고 마음은 있지만 시작하기 두려웠던 앱 개발. 이 두 가지를 함께 배우고 바로 적용할 수 있다는 점에서 이 책은 무척 유용합니다. 딥러닝이 막연하고 어렵게 느껴졌던 분들은 이 책을 따라하며 딥러닝을 직접 경험해보시기 바랍니다.