Pythonプログラミングを行いながら、ディープラーニングの技術を使った将棋AIを完成させていきます。
ディープラーニングフレームワークのPyTorchを活用し、Google Colabで動かしながら学びます。
本書には3つの目的があります。 1つの目的は、ディープラーニングを使用した将棋AIの仕組みを解説することです。ディープラーニングを使用した将棋AIは、従来型の将棋AIよりも特に序中盤での大局観に優れていると言われており、その疑問に答えます。
もう1つの目的は、実際に手を動かして将棋AIを実装してみることです。Pythonプログラミングを行いながら将棋AIを完成させます。
最後の目的は、強い将棋ソフトを創ることです。コンピュータ将棋の大会で優勝したGCT電竜を超えるような、より強い将棋AIを創る方法を解説していきます。
Part 1 導入編
第1章 コンピュータ将棋について
Part 2 理論編
第2章 コンピュータ将棋のアルゴリズム
第3章 ディープラーニングの基本
Part 3 実装編
第4章 ディープラーニングフレームワーク
第5章 Pythonで将棋AIを創る
第6章 対局プログラムの実装
第7章 GCT電竜を超える強い将棋AIを創る
Part 4 発展編
第8章 さらに強くするために
Part 1 導入編
第1章 コンピュータ将棋について
Part 2 理論編
第2章 コンピュータ将棋のアルゴリズム
第3章 ディープラーニングの基本
Part 3 実装編
第4章 ディープラーニングフレームワーク
第5章 Pythonで将棋AIを創る
第6章 対局プログラムの実装
第7章 GCT電竜を超える強い将棋AIを創る
Part 4 発展編
第8章 さらに強くするために
Scott Meyersによる人気シリーズ、「Effective Software Development」シリーズに待望のPythonバージョンが登場。シリーズの真骨頂である、効率的で優れたプログラムはどのように書けばよいのか、を指南。ベストプラクティス、ヒント、落とし穴の避け方や達人プログラマのコードなどを紹介し、効果的な優れたPythonプログラムを書くノウハウをまとめています。Pythonを知り尽くした著者が、より良いPythonコードを書くために何をすべきか、何をすべきでないか、なぜこれが良い方法なのかをPythonの流儀に従って教えてくれます。強力な機能を備えながらもシンプルで使いやすく、多くの開発者を惹きつけてやまないPythonの魅力と威力を体感できる一冊です。
オンライン教育プラットフォームUdemyの人気講師が教えるディープラーニングの基礎、第2弾。前作「はじめてのディープラーニング」では、基礎中の基礎であるニューラルネットワークとバックプロパゲーションを初学者にもわかりやすく解説しましたが、本作では自然言語処理の分野で真価を発揮する再帰型ニューラルネットワーク(RNN)と、ディープラーニングの生成モデルであるVAE(Variational Autoencoder)とGAN(Generative Adversarial Networks)について実装方法を含めて解説します。もちろんプログラムの実装については、前作を踏襲してPythonのみで行い、既存のフレームワークに頼りません。
[本書の特徴]
・前作を読んでいない方のために、Python、数学、ニューラルネットワークの基礎について解説する章を設けています。
・サンプルプログラムはフレームワークを使わずにPythonのみで記述しています。このため数式をコード化する際の原理が初心者にもわかりやすくなっています。
・サンプルプログラムはSBクリエイティブ株式会社のサイトからダウンロード可能です。
・Python3、Jupyter Notebook、Google Colaboratory対応
第1章 ディープラーニングの発展
ディープラーニングの概要
ディープラーニングの応用
本書で扱う技術
本書の使い方
第2章 学習の準備
Anacondaの環境構築
Google Colaboratoryの使い方
Jupyter Notebookの使い方
Pythonの基礎
NumPyとmatplotlib
数学の基礎
第3章 ディープラーニング基礎
ニューラルネットワーク、ディープラーニングの概要
全結合層の順伝播
全結合層の逆伝播
全結合層の実装
シンプルなディープラーニングの実装
第4章 RNN
RNNの概要
RNN層の順伝播
RNN層の逆伝播
RNN層の実装
シンプルなRNNの実装
RNNが抱える問題
第5章 LSTM
LSTMの概要
LSTM層の順伝播
LSTM層の逆伝播
LSTM層の実装
シンプルなLSTMの実装
文章の自動生成
第6章 GRU
GRUの概要
GRU層の順伝播
GRU層の逆伝播
GRU層の実装
シンプルなGRUの実装
Encoder-Decoder
第7章 VAE
VAEの概要
VAEの仕組み
オートエンコーダの実装
VAEに必要な層
VAEの実装
VAEの派生技術
第8章 GAN
GANの概要
GANの仕組み
GANに必要な層
GANの実装
GANの派生技術
ScratchとPythonの2段階学習で必ずわかる!見て動きを掴み→コードも動かすから本質的に理解できる!
【ウィザーズ・オブ・ザ・コーストからの注意事項】
・発売日は日本国内での目安となり、発売時期、お届け時期が前後する可能性がございます。
また米国のSecret Lairオフィシャルオンラインストアと発売日が異なる場合がございます。
・数量限定での予約販売となります。
・楽天ブックスでは直接商品の返品交換は承っておりません。お届けした商品に欠陥がある場合は、商品に記載のマジック:ザ・ギャザリングカスタマーサポートまでご連絡ください。(英語対応)
・商品写真はイメージです。お使いのパソコン・携帯端末や設定などにより、実際の商品の色やデザインが異なる場合があります。
【対象年齢】:13歳以上
『プログラムはなぜ動くのか』14年ぶり、待望の改訂第3版!
「これからの10年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。
プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明します。プログラムは、メモリーにロードされ、CPUによって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説します。
第3版では、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えています。第2版で好評だったハードウエアに関する説明や、C言語によるサンプル・プログラムも更新しています。巻末の補章のC言語の解説「レッツ・トライ C言語!」も最新仕様に沿うよう改訂しています。
新たに書き下ろした第12章では、Pythonを使った機械学習を取り上げます。初めて機械学習を体験する読者は、コンピュータとプログラムの活用方法としての人工知能(AI)を身近に感じられることでしょう。さらに、巻末の補章にPythonの解説「レッツ・トライ Python!」を追加しています。
本書の特徴
◆プログラムの成り立ち、動作の仕組みを説明…基礎知識をきちんと解説!
◆メモリーについて充実した説明…プログラマの必須知識をしっかり解説!
◆HW、OS、アプリ、クラウドなど動作環境を網羅…実践・実装知識も解説!
何事にも言えることですが、ものごとの本質を知ることは、とても大切なことです。本質を知ってこそ応用が利きます。新しい技術が登場しても、容易に理解できます。本書によって、プログラムを奥底まで探究し、プログラムの本質に触れてください。
ーー「おわりに」よりーー
【目次】
第1章 プログラマにとってCPU とはなにか
第2章 データを2 進数でイメージしよう
コラム:ピカピカの小学生にCPU と2 進数を説明する
第3章 コンピュータが小数点数の計算を間違える理由
第4章 四角いメモリーを丸く使う
第5章 メモリーとディスクの親密な関係
第6章 自分でデータを圧縮してみよう
コラム:ゲームに夢中な中学生にメモリーとディスクを説明する
第7章 プログラムはどんな環境で動くのか
第8章 ソース・ファイルから実行可能ファイルができるまで
第9章 OS とアプリケーションの関係
コラム:スマホが大好きな女子高生にOS の役割を説明する
第10章 アセンブリ言語からプログラムの本当の姿を知る
第11章 ハードウエアを制御する方法
コラム:近所のおばあちゃんにディスプレイとテレビの違いを説明する
第12章 コンピュータに「学習」をさせるには
コラム:行きつけの居酒屋のマスターに機械学習の種類を説明する
補章1 レッツ・トライ C言語!
補章2 レッツ・トライ Python!
大人気のWebアプリケーションフレームワーク「Django」をマスター!PythonとDjangoの基本、具体的な開発のステップからデプロイまで、現場で使える力を身につける。
話題は教育用低価格コンピュータのコンパクトな入門書。ハードウェアの概要と、Linux、Python、Scratchの基本を解説。Raspberry PiとArduinoの接続も解説!
Pythonはリバースエンジニアやソフトウェアテスターといったセキュリティのプロにも人気の言語です。本書では、ハッキングツールやテクニックの概念を解説したうえで、Pythonを使ったバイナリ解析技法について詳しく解説します。読者は、独自デバッガの構築、バグを発見するためのツールの作り方、オープンソースのライブラリを活用した処理の自動化、商用ソフトとオープンソースのセキュリティツールを連動させる方法などについて学ぶことができるでしょう。日本語版では、本書をより深く理解するための補足情報とリバーシングに役立つツールについての解説を加筆しました。
今やテキストマイニングは,文章を単語に切り分けて,単語の出現頻度を数えるだけにはとどまりません.
商品やイベントに対するSNS上の意見をポジティブ・ネガティブに分ければ,何が評価されて,どこを改善すべきかが一目瞭然.
政治家の演説のトピックが,時代とともにどう移り変わってきたかを解析すると,社会の変化を見て取ることもできます.
小説の話題展開の流れや,登場人物とキーワードの結びつきも,自動で分析可能です.
文書解析で本当にやりたかったこれらのことは,Rで手軽に実現できます.
テキストマイニング定番書の著者による,次の一歩のためのやさしい手引きです.
[もっと基本的なことから学びたい方は,同著者による「Rによるテキストマイニング入門[第2版](森北出版)」もご覧ください]
〈本書で扱う主な内容〉
●センチメント分析
日本語極性辞書を用いて,単語の極性からテキスト全体がポジティブかネガティブか判断.
●単語分散表現
単語の頻度だけでなく,出現位置に注目し,単語どうしの意味の関連性を数値化.
●機械学習,ディープラーニング
機械学習を用いて,より高度な解析も実現.Pythonを前提とした訓練済みモデルやディープラーニングのフレームワークも,RStudioから簡単に利用可能.
第1章 Rによる日本語テキスト解析の基礎
第2章 センチメント分析
第3章 構造的トピックモデル
第4章 Twitter投稿テキストの評価
第5章 機械学習による予測
第6章 単語分散表現
第7章 RからPythonライブラリを実行
はじめて学ぶ人でも安心!オールカラーでコードを丁寧に解説。小さなプログラムで基本を学んで最後は実践的なプログラムを完成させる!勘違いしやすい箇所は講師がフォロー!ワークショップ感覚で読み進められる。
初歩から学べて知識が身に付く。機械学習やRaspberry Piなど活用いろいろ、言語の基本を徹底マスター!
言語研究者の関心に即したプログラミングの入門書。近年、注目を集めているPythonを取り上げ、英語や日本語の言語分析のための具体的な処理例が多数収録。
信号とシステムの基礎を初学者向けに題材を絞って豊富な図や例でことがらを説いている。デジタル信号処理の初歩の解説が主眼ではあるが,自己完結的であることをめざしたため,その理解に必要となる連続時間の信号やシステムに対しても必要最小限の記述をあたえている。とくに,離散時間信号と連続時間信号のそれぞれの処理の対応関係や差異をはっきりさせている。少数の例外をのぞいて,ほかの文献を参照せずに本書だけ読めばことたりるという意味で自己完結的である。証明に関しても,数学的には厳密ではないものには,主張の妥当性が納得できると思われる記述をあたえている。演習問題の解答例も含めて,数式の変形はできるだけ途中をとばさずにていねいに記述している。とりわけ導出された数式の意味合いを強調している。
ロボットハードウェア不要。PythonとLinuxで学ぶ!
ROS(ロボットオペレーティングシステム)の解説書。ROSのコンセプトから、Python 2.7によるロボットプログラミングの具体的な方法、インストールやデバック時のヒントまで、ROSユーザーが知っておくべき基本を網羅的に解説します。単純なテレオペボットから始めて、認識・行動制御を伴うより複雑な自律型ロボットへと段階的に学んでいくので、読者は学習を進めながら理解を深めることができます。各章が典型的なユースケースシナリオに対するレシピ(具体的なコード、図、解説)として構成されているため、自分自身の目的や興味に合わせて読み進めることも可能です。日本語版では、Pepperプログラミング★やROS2のアーキテクチャー★についての解説を巻末付録として収録しました。
政府が掲げる「AI戦略2019」における具体目標に向け、AI(人工知能)の知識を正しく理解し、適切に使いこなす能力を伸ばすことを目的とした教科書。「AIの全体像の把握」「基本原理の理解」「活用方法の習得」の3ステップで構成。大学の半期で学べる全14章構成。文・理を問わず学習できるよう「AI関連用語集」も収録。
ソフト開発とプログラミングのための情報誌Python×Excelもっと活用術