書き置き。

ほぼ勉強の記録みたいなもんです。

"AWSでつくるAIプログラミング入門"でAI入門してきた

AWSでつくる AIプログラミング入門

AWSでつくる AIプログラミング入門

re:invent2019 に参加しAIや機械学習に興味を持った流れで、ちょうど12月にこちらの書籍が販売されると聞いて、早速購入しました。
Amazon.co.jp でそれまでAI関連の本を買ったこともないのに、、、発売前にレコメンドされてきました。AWSの技術を使って予測されていたのでしょうか。

書籍の特徴

本業はPHPで、PythonはAWSでLambda関数を作成するのに少し書いたことがあるくらいの経験で読み始めました。

Python、AWS SDK for Python (Boto3) を使って解説されています。

AWSにはすべてBoto3経由でアクセスしているため、AWSのコンソール画面については解説されていません。 読み進めていく中では確かにコンソール画面を開かずとも支障はなさそうです。

しかし今後実際にプロダクトを作っていくことを考えると、ターミナルに表示させている結果(json.dumps()が多い)と合わせてコンソール画面ではどのように表示されているか、を確認しながら行うのが良さそうです。

それから、"AIプログラミング入門" というタイトルがついている通り、プログラミングに不慣れな方のために、よくあるエラーの解決方法が掲載されています。 また、実行に時間がかかるところや、作成後放置してしまうと料金が高めのサービスについてもそれぞれ言及されています。
各章末にはリソースの削除方法(これもboto3を使ったpythonのプログラム)も掲載されているので、丁寧な印象を受けました。

内容

  • Translate:翻訳
  • Polly:音声合成
  • Transcribe:音声をテキストに変換
  • Rekognition:画像の分析
  • Textract:画像からテキストを抽出
  • Comprehend:文章から話題や感情を抽出
  • Personalize:レコメンデーション
  • Forecast:予測
  • Lex:対話型エージェント

Translate、Polly、Transcribe、Rekognition、Textract。このあたりまでは、それぞれAPI提供されているサービスが他にもあるので、正直これもAIと呼んでしまうのか、、、と思いました。 これなら知ってる!これならできる!と安心する一方で、これができたところで「AIやってます!」なんて胸を張れない気がしてもやもやしながら読み進めていました。

後半戦、Comprehend、Personalize、Forecast この辺になってくるとAI感が出てきました。 Comprehendは、つい先日、日本語に対応されていました。まだ東京リージョンで使えないのが残念ですが、今後活用事例がたくさん出てくることでしょう。

そして最後LexはAlexaにも搭載されている技術だそうです。Alexaが日本語にも対応しているのに対し、現状のLexは英語のみとなっています。今後のupdateに期待したいところです。

実践

掲載されているコードがPythonということは、Lambda関数にしてAPI Gatewayと組み合わせると、これはすぐに自分のプロダクトとしてAPI化できそう、という視点で読み進めていました。 Python初心者ですがこの本を通じて、boto3を使ってAWSの各種サービスとやりとりするスクリプト(Lambda関数)くらいなら自分にも作れそう、と思いました。

この本で学んだサービスのうち、顔の画像認識ができるRekognition に興味を持っています。掲載されているコードも自分の写真などで色々試しました。

自分が子供の頃の写真と最近の写真で、正しく同一人物と判定されていました。
よく親子そっくりだと言われる娘の写真を使って判定させたところ、やはり別な人物と認識されました。

まとめ

AI・機械学習というと、高校大学レベルの数学が必要だったり、自分には敷居が高いと感じていました。
しかしこうして特定の用途に特化したAIサービスもたくさん出てきています。まずはここから始めるのが良さそうと、入門してはじめの一歩を踏み出せた感覚があります。

この流れで、AIを使ったプロダクトをまずは1つ、作ってみようと思っています。

関連

note.com

makies.hatenablog.com