作例としてはほぼ公式のサンプルを使っています。
そのうでで丁寧に説明しているような内容になっています
普通であれば、「ネットで見れる情報しかのってない!」という批判が出てきそうですが
MLのような新しいものだと基本的な概念もわからないのでかなり役立ちましたね
今後もアップデートを重ねていってほしいですね
紙の本の価格: | ¥3,960 |
割引: | ¥ 79 (2%) |
| |
Kindle 価格: | ¥3,881 (税込) |
獲得ポイント: | 233ポイント (6%) |
を購読しました。 続刊の配信が可能になってから24時間以内に予約注文します。最新刊がリリースされると、予約注文期間中に利用可能な最低価格がデフォルトで設定している支払い方法に請求されます。
「メンバーシップおよび購読」で、支払い方法や端末の更新、続刊のスキップやキャンセルができます。
エラーが発生しました。 エラーのため、お客様の定期購読を処理できませんでした。更新してもう一度やり直してください。
無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
Unity ML-Agents実践ゲームプログラミング Kindle版
ついに正式版が登場へ!ゲーム開発にAIを活用しよう。
本書は、Unity界でいま最もホットな話題「Unity ML-Agents」をステップ・バイ・ステップで学べる1冊です。Unity ML-Agentsを使うことで、「テストの自動化」「ゲームバランスの調整」「自然な振る舞いを行うNPCの作成」「特定のプレイヤーの動きを模倣するキャラクターの作成」など、ゲーム制作のさまざまな場面で活用することができます。
本書では、はじめて「機械学習」にチャレンジする方から学んでいただけるように、機械学習の仕組みや学習方法の基礎から、サンプルプログラムを使った実践まで、ていねいに解説しました。
また、Unityが公開しているゲームに、AIを組み込んで活用する応用事例も掲載しており、ゲーム開発の現場ですぐに役立てることができます。
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
本書は、Unity界でいま最もホットな話題「Unity ML-Agents」をステップ・バイ・ステップで学べる1冊です。Unity ML-Agentsを使うことで、「テストの自動化」「ゲームバランスの調整」「自然な振る舞いを行うNPCの作成」「特定のプレイヤーの動きを模倣するキャラクターの作成」など、ゲーム制作のさまざまな場面で活用することができます。
本書では、はじめて「機械学習」にチャレンジする方から学んでいただけるように、機械学習の仕組みや学習方法の基礎から、サンプルプログラムを使った実践まで、ていねいに解説しました。
また、Unityが公開しているゲームに、AIを組み込んで活用する応用事例も掲載しており、ゲーム開発の現場ですぐに役立てることができます。
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
- 言語日本語
- 出版社ボーンデジタル
- 発売日2020/8/12
- ファイルサイズ152083 KB
この本はファイルサイズが大きいため、ダウンロードに時間がかかる場合があります。Kindle端末では、この本を3G接続でダウンロードすることができませんので、Wi-Fiネットワークをご利用ください。
- 販売: Amazon Services International LLC
- Kindle 電子書籍リーダーFire タブレットKindle 無料読書アプリ
この本を読んだ購入者はこれも読んでいます
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
商品の説明
著者について
布留川 英一(ふるかわ ひでかず)
1975年生まれ。群馬県出身。会津大学コンピュータ理工学部コンピュータソフトウェア学科卒。
1999年、「JAVA PRESS」(技術評論社)にて、携帯アプリの開発方法の連載を開始。2001年、株式会社ドワンゴにて、世界初のJava搭載携帯電話「503i」のローンチタイトル「サムライロマネスク」の開発に携わる。以後、携帯電話・スマートフォン・ロボットなど新ハードの新機能を活用したアプリを作りつつ、技術書を書き続け、20年で40冊ほど。現在はギリア株式会社にて、ヒトとAIの共生環境の実現を目指して、人工知能の研究開発に取り込んでいる。
主な著書は「OpenAI Gym/Baselines 深層学習・強化学習 人工知能プログラミング実践入門」(ボーンデジタル/2020年刊)「AlphaZero深層学習・強化学習・探索 人工知能プログラミング実践入門」「iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門」(ボーンデジタル/2019年刊)、「Unityではじめる機械学習・強化学習 Unity ML-Agents 実践ゲームプログラミング」(ボーンデジタル/2018年刊)、「Unityゲーム プログラミング・バイブル」(共著、ボーンデジタル/2018年刊)など。
1975年生まれ。群馬県出身。会津大学コンピュータ理工学部コンピュータソフトウェア学科卒。
1999年、「JAVA PRESS」(技術評論社)にて、携帯アプリの開発方法の連載を開始。2001年、株式会社ドワンゴにて、世界初のJava搭載携帯電話「503i」のローンチタイトル「サムライロマネスク」の開発に携わる。以後、携帯電話・スマートフォン・ロボットなど新ハードの新機能を活用したアプリを作りつつ、技術書を書き続け、20年で40冊ほど。現在はギリア株式会社にて、ヒトとAIの共生環境の実現を目指して、人工知能の研究開発に取り込んでいる。
主な著書は「OpenAI Gym/Baselines 深層学習・強化学習 人工知能プログラミング実践入門」(ボーンデジタル/2020年刊)「AlphaZero深層学習・強化学習・探索 人工知能プログラミング実践入門」「iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門」(ボーンデジタル/2019年刊)、「Unityではじめる機械学習・強化学習 Unity ML-Agents 実践ゲームプログラミング」(ボーンデジタル/2018年刊)、「Unityゲーム プログラミング・バイブル」(共著、ボーンデジタル/2018年刊)など。
登録情報
- ASIN : B08JBFXFQ9
- 出版社 : ボーンデジタル (2020/8/12)
- 発売日 : 2020/8/12
- 言語 : 日本語
- ファイルサイズ : 152083 KB
- Text-to-Speech(テキスト読み上げ機能) : 有効になっていません。
- X-Ray : 有効にされていません
- Word Wise : 有効にされていません
- 付箋メモ : 有効になっていません
- Amazon 売れ筋ランキング: - 569位ゲームプログラミング
- - 835位コンピュータ・テクノロジー雑誌
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2021年10月3日に日本でレビュー済み
Amazonで購入
Unity 3DのAI (ML-Agents)は進化の途上にあり、この本も出版後たった1年(2021.10)ですでにいくつかの点で古くなっていますが、それでも日本語で説明している本として、非常に価値があると思います。
古くなっている点
1年の間に、もっとも重要なPythonで使用するDeep Learningのプログラム自体がTensouflowからPyTorchに変更になっていますので、現時点のML-Agents (stable version 18)を使用する場合は、
・PyTorchをインストールする必要があります。
なお、PyTorchでもtensorboardは使えます。
・最初のサンプルではScriptを以下のとおり修正します。
using Unity.MLAgents.Actuators; を追加
OnActionReceivedを修正
public override void OnActionReceived(ActionBuffers actionBuffers)
{
// x, z軸方向に力を加える
Vector3 controlSignal = Vector3.zero;
controlSignal.x = actionBuffers.ContinuousActions[0];
controlSignal.z = actionBuffers.ContinuousActions[1];
(以下同じ)
Heuristicを修正
public override void Heuristic(in ActionBuffers actionsOut)
{
var continuousActionsOut = actionsOut.ContinuousActions;
continuousActionsOut[0] = Input.GetAxis("Horizontal");
continuousActionsOut[1] = Input.GetAxis("Vertical");
}
古くなっている点
1年の間に、もっとも重要なPythonで使用するDeep Learningのプログラム自体がTensouflowからPyTorchに変更になっていますので、現時点のML-Agents (stable version 18)を使用する場合は、
・PyTorchをインストールする必要があります。
なお、PyTorchでもtensorboardは使えます。
・最初のサンプルではScriptを以下のとおり修正します。
using Unity.MLAgents.Actuators; を追加
OnActionReceivedを修正
public override void OnActionReceived(ActionBuffers actionBuffers)
{
// x, z軸方向に力を加える
Vector3 controlSignal = Vector3.zero;
controlSignal.x = actionBuffers.ContinuousActions[0];
controlSignal.z = actionBuffers.ContinuousActions[1];
(以下同じ)
Heuristicを修正
public override void Heuristic(in ActionBuffers actionsOut)
{
var continuousActionsOut = actionsOut.ContinuousActions;
continuousActionsOut[0] = Input.GetAxis("Horizontal");
continuousActionsOut[1] = Input.GetAxis("Vertical");
}
2022年5月28日に日本でレビュー済み
ある程度PythonやUnityの知識が必要で、加えて機械学習に意欲がある人向け
というのも、この手の技術書にはありがちですが、GitHubのサンプルは最新版のUnityに合わせてあるのと、また、不具合がないわけではないことも理解して触る必要があります。
混乱しそうなのは、例えば、BehaviorParametersコンポーネントのパラメータを見ても、SpaceTypeは存在せず、ContinuousActionおよび、DiscreteBranchesの数字で設定を入力する必要があったり、本の中の情報と、ml-agentsのツールキット自体とのギャップがあったり、本の中のカリキュラム学習はハイパーパラメータの形式が古いためか、エラーを出すので、設定を正常にしないと動かないという状況が存在していました。(2022年5月時点)
なので、面倒だという人は、2018対応のReleaseをダウンロードしたほうが間違いがないと思われます。
それ以外のバージョンで対応しようという人は、購入する際に、それなりにサンプルやネットの情報を集めながら対応する覚悟をしておきましょう。
例としては環境からいうと、Unityは紙面記載の2018ではGitHubの最新コードは動作せず、2020のLTSで動作します(この辺はGitHubの説明を注視しましょう。”Unity 2020.1 and later. ”とあります)
Anacondaは現在、Anaconda3で、3.7.xをインストールして確認しています。※作者のブログで環境については時折説明されているようです。
他にも、学習済みの.onnxファイルはそのままnnファイルの設定場所にドラッグすれば動作しますがネット上でnnファイル作成について質問している人も見かけました。
個人的に厄介だったのは、LSTMサンプルでどうしてもうまく動かず、ステップ数を増やして約1日中学習させないとうまく動かなかった(それでも間違いが出ていた)という状況があったり、カリキュラム学習についてのハイパーパラメータの設定は、本と最新版(Release19)では状況が大きく違っているので何がおかしいのかpythonファイルをいじってエラー情報を増やしたりしました。(最終的にはネット上で対応している方の情報を見て同じように設定して動作しました)
あと、RaycastサンプルはSphereCastRadiusを小さく調整しないとリワードのパネルに引っかかっているので、指定の0.5だと、もしかしたら意図しない状況になっているのではないかと思われます。
自分はまだ、ようやっと4章まで確認して区切りがついたところですが、皆さんも購入した際には、環境設定について、本とのギャップ、および、最新版のml-agentsとのギャップにご注意を。
というのも、この手の技術書にはありがちですが、GitHubのサンプルは最新版のUnityに合わせてあるのと、また、不具合がないわけではないことも理解して触る必要があります。
混乱しそうなのは、例えば、BehaviorParametersコンポーネントのパラメータを見ても、SpaceTypeは存在せず、ContinuousActionおよび、DiscreteBranchesの数字で設定を入力する必要があったり、本の中の情報と、ml-agentsのツールキット自体とのギャップがあったり、本の中のカリキュラム学習はハイパーパラメータの形式が古いためか、エラーを出すので、設定を正常にしないと動かないという状況が存在していました。(2022年5月時点)
なので、面倒だという人は、2018対応のReleaseをダウンロードしたほうが間違いがないと思われます。
それ以外のバージョンで対応しようという人は、購入する際に、それなりにサンプルやネットの情報を集めながら対応する覚悟をしておきましょう。
例としては環境からいうと、Unityは紙面記載の2018ではGitHubの最新コードは動作せず、2020のLTSで動作します(この辺はGitHubの説明を注視しましょう。”Unity 2020.1 and later. ”とあります)
Anacondaは現在、Anaconda3で、3.7.xをインストールして確認しています。※作者のブログで環境については時折説明されているようです。
他にも、学習済みの.onnxファイルはそのままnnファイルの設定場所にドラッグすれば動作しますがネット上でnnファイル作成について質問している人も見かけました。
個人的に厄介だったのは、LSTMサンプルでどうしてもうまく動かず、ステップ数を増やして約1日中学習させないとうまく動かなかった(それでも間違いが出ていた)という状況があったり、カリキュラム学習についてのハイパーパラメータの設定は、本と最新版(Release19)では状況が大きく違っているので何がおかしいのかpythonファイルをいじってエラー情報を増やしたりしました。(最終的にはネット上で対応している方の情報を見て同じように設定して動作しました)
あと、RaycastサンプルはSphereCastRadiusを小さく調整しないとリワードのパネルに引っかかっているので、指定の0.5だと、もしかしたら意図しない状況になっているのではないかと思われます。
自分はまだ、ようやっと4章まで確認して区切りがついたところですが、皆さんも購入した際には、環境設定について、本とのギャップ、および、最新版のml-agentsとのギャップにご注意を。
2020年9月23日に日本でレビュー済み
プログラミングや機械学習の初学者がこの本を頭から理解しようとするのは無理があると思いますが、ある程度下地のある人にはML-Agentsの面白さがよくわかるはずです。
プログラミング言語としては私はPythonしかかじっていませんでしたので、本書に出てくるC#にはわからない部分もありました。でもC#も並行して勉強しつつ、本書の知識を生かして、四角いエージェントが相撲をとるような環境を1から構築することができました(Unityに関する知識ももとから少しだけありました)。
たまに誤植はありましたが、この分野の本は、出版のスピードが非常に大切です(もたもたしているとすぐに時代遅れの本になってしまいます)。個人的には、スピード感重視でこういった本をバンバン出版してくれるのはありがたいです。ただ、私はそういった誤植も自分で気づいて直せるくらいの下地があったので大丈夫でしたが、やはり初学者には難しいかなと思います。
続編楽しみにしています。
プログラミング言語としては私はPythonしかかじっていませんでしたので、本書に出てくるC#にはわからない部分もありました。でもC#も並行して勉強しつつ、本書の知識を生かして、四角いエージェントが相撲をとるような環境を1から構築することができました(Unityに関する知識ももとから少しだけありました)。
たまに誤植はありましたが、この分野の本は、出版のスピードが非常に大切です(もたもたしているとすぐに時代遅れの本になってしまいます)。個人的には、スピード感重視でこういった本をバンバン出版してくれるのはありがたいです。ただ、私はそういった誤植も自分で気づいて直せるくらいの下地があったので大丈夫でしたが、やはり初学者には難しいかなと思います。
続編楽しみにしています。
2021年6月10日に日本でレビュー済み
Amazonで購入
unityで自分が作ったゲームにAIを搭載したくて購入。unity以外は割と初心者です。
Macで、現在CHAPTER 2まで終えることができました。
結果的に本の通りにやればうまくいったのですが、苦労したところを書いてみます。
(この本の前にネットで調べて一度挑戦して、そのときにターミナルに苦戦したので、
この本では、ターミナルではあまり苦戦しませんでした。)
P48、macOSへのAnacondaのインストール時にパスが通らなかった。
本にあるようにシェルをzshからbashに変更して(変更の仕方がわからなかったのでネットで調べた)
Anacondaを再インストールしたら上手くいった。(zshのままでもパスを通す方法もある)
P50、「ml-agentsフォルダ」の直下に移動してからコマンドを入力
分からなかったのでネットで調べた。(cdと入力し、半角スペースを開けて、
「ml-agentsフォルダ」をターミナル上にドラッグ&ドロップすれば
フォルダの位置が表示されるので、Enterで直下に移動できる
(半角スペースを開けていなくて一度失敗した)
P65、図 2-13-14の「Model」は完全に誤植でNoneのままでよい。
P66、「ml-agentsフォルダ」直下の
「./config/sample/RollerBall.yaml」に訓練設定ファイルを作成します。
エディタで以下のように作成して下さい。 の意味がわからなかった。
ml-agentsフォルダのconfigフォルダに、自分でsampleフォルダを作って、
自分でRollerBall.yamlという名前のファイルを作るということだった。
普通のエディタではyamlファイルが作れなかったので、(エディタとは?も調べた)
Atomというエディタをダウンロードしてインストールしてファイルを作った。
P67、で実行したら上手くいかなかった。yamlファイルで入力ミスをしていたので、
それを修正したら上手くいった。
(ml-agentsの始め方みたいなサイトで全く同じものがあったので、
コピペしたら正しいものになった)
P68、unityのPlayボタンを押したが、学習が開始されなかった。
BehaviorTypeをHeuristic Onlyにしたままだったので、これが原因かとDefaultにして、
unityをもう一度実行したが上手くいかず、
エラーの文章を読んでも分からなかったので
P67からもう一度やり直したが上手くいかず、P69の --resumeで実行したが上手くいかず、
P69の --farceでやり直したら、これでやっと学習が始まりました。
P72、P73、P74の黄緑のマーカー上の「trainer_config.yaml」の部分はは誤植で、書籍のHPに
「sample/RollerBall.yaml」に訂正とありました。
Macで、現在CHAPTER 2まで終えることができました。
結果的に本の通りにやればうまくいったのですが、苦労したところを書いてみます。
(この本の前にネットで調べて一度挑戦して、そのときにターミナルに苦戦したので、
この本では、ターミナルではあまり苦戦しませんでした。)
P48、macOSへのAnacondaのインストール時にパスが通らなかった。
本にあるようにシェルをzshからbashに変更して(変更の仕方がわからなかったのでネットで調べた)
Anacondaを再インストールしたら上手くいった。(zshのままでもパスを通す方法もある)
P50、「ml-agentsフォルダ」の直下に移動してからコマンドを入力
分からなかったのでネットで調べた。(cdと入力し、半角スペースを開けて、
「ml-agentsフォルダ」をターミナル上にドラッグ&ドロップすれば
フォルダの位置が表示されるので、Enterで直下に移動できる
(半角スペースを開けていなくて一度失敗した)
P65、図 2-13-14の「Model」は完全に誤植でNoneのままでよい。
P66、「ml-agentsフォルダ」直下の
「./config/sample/RollerBall.yaml」に訓練設定ファイルを作成します。
エディタで以下のように作成して下さい。 の意味がわからなかった。
ml-agentsフォルダのconfigフォルダに、自分でsampleフォルダを作って、
自分でRollerBall.yamlという名前のファイルを作るということだった。
普通のエディタではyamlファイルが作れなかったので、(エディタとは?も調べた)
Atomというエディタをダウンロードしてインストールしてファイルを作った。
P67、で実行したら上手くいかなかった。yamlファイルで入力ミスをしていたので、
それを修正したら上手くいった。
(ml-agentsの始め方みたいなサイトで全く同じものがあったので、
コピペしたら正しいものになった)
P68、unityのPlayボタンを押したが、学習が開始されなかった。
BehaviorTypeをHeuristic Onlyにしたままだったので、これが原因かとDefaultにして、
unityをもう一度実行したが上手くいかず、
エラーの文章を読んでも分からなかったので
P67からもう一度やり直したが上手くいかず、P69の --resumeで実行したが上手くいかず、
P69の --farceでやり直したら、これでやっと学習が始まりました。
P72、P73、P74の黄緑のマーカー上の「trainer_config.yaml」の部分はは誤植で、書籍のHPに
「sample/RollerBall.yaml」に訂正とありました。
2021年6月2日に日本でレビュー済み
Amazonで購入
誤植が多い。載っているソースコードでは動作しない。
2020年10月11日に日本でレビュー済み
Pythonを少しかじっていますが、C#は初心者のものです。Unityも初心者です。
そのためUnityを勉強することにハードルは感じましたが、初心者がML-Agentsに関する知的欲求を満たす上で、説明はとても分かりやすかったなという印象です。
理解を深めるためには当然ながらC#を勉強する必要はあると思いますが、「ML-Agentsで何ができるのか、経験の幅を広げる」意味ではとても参考になりました。
誤植はありますが、基本的には自分で気づける範囲だと思います。また、サポートページにも誤植の訂正はあります。
そのためUnityを勉強することにハードルは感じましたが、初心者がML-Agentsに関する知的欲求を満たす上で、説明はとても分かりやすかったなという印象です。
理解を深めるためには当然ながらC#を勉強する必要はあると思いますが、「ML-Agentsで何ができるのか、経験の幅を広げる」意味ではとても参考になりました。
誤植はありますが、基本的には自分で気づける範囲だと思います。また、サポートページにも誤植の訂正はあります。
2021年1月20日に日本でレビュー済み
Chapter 2-4の、最初の機械学習実行で躓きました。
mlagents-learnというサーバープログラムを起動し、Unityがクライアントになって5004ポートで繋ぎにいくという内容のようなのですが、接続エラーになります。
検証のためWindows Defenderのファイアウォールを全開放して進めましたがダメでした。
他にセキュリティソフト等は入っていません。
■構築した環境
Windows 10 Home バージョン2004(OSビルド 19041.746)
Unity: 2018.4.30f1
Anaconda: 4.9.2
Python: 3.7.6
TensorFlow: 2.4
ML-Agents:Release 3
■Unity側のエラー
Couldn't connect to trainer on port 5004 using API version 1.0.0. Will perform inference instead.
■mlagents-learnの表示(最終行)
Listening on port 5004. Start training by pressing the Play button in the Unity Editor.
Googleで日本語・英語ともに情報を集めたのですが解決に至らず、今回は機械学習を諦めることにしました。
mlagents-learnというサーバープログラムを起動し、Unityがクライアントになって5004ポートで繋ぎにいくという内容のようなのですが、接続エラーになります。
検証のためWindows Defenderのファイアウォールを全開放して進めましたがダメでした。
他にセキュリティソフト等は入っていません。
■構築した環境
Windows 10 Home バージョン2004(OSビルド 19041.746)
Unity: 2018.4.30f1
Anaconda: 4.9.2
Python: 3.7.6
TensorFlow: 2.4
ML-Agents:Release 3
■Unity側のエラー
Couldn't connect to trainer on port 5004 using API version 1.0.0. Will perform inference instead.
■mlagents-learnの表示(最終行)
Listening on port 5004. Start training by pressing the Play button in the Unity Editor.
Googleで日本語・英語ともに情報を集めたのですが解決に至らず、今回は機械学習を諦めることにしました。