We may earn an affiliate commission when you visit our partners.
Course image
我妻 幸長 Yukinaga Azuma

本コースは、ディープラーニングをゼロから実装する講座です。

TensorFlowやChainerなどのフレームワークを使わずに、畳み込みニューラルネットワーク(CNN)までゼロから構築できるようになりましょう。

ディープラーニングをフルスクラッチで構築することにより、普遍的な原理がしっかりと身につきます。

人工知能(AI)、特にその一分野であるディープラーニングは世界中の人々の関心を集めており、自動運転、ファイナンス、流通、アート、研究、さらには宇宙探索に到るまで、様々な分野で活用をされ始めています。

本コースは、可能な限り多くの方がディープラーニングの本質を学ぶことができるように、プログラミングと数学から始めて畳み込みニューラルネットワークに至るまで、手を動かしながら少しずつ丁寧に学べるように設計されています。

また、扱うコードは直感的な分かりやすさを重視し、可能な限りシンプルで可読性の高いコードを心がけています。

本コースには前提となる知識が2つあります。

1つ目は、何らかのプログラミング言語の経験です。

本コース内でもPythonの解説をしますが、何からのプログラミング言語の経験があると学習がスムーズになります。

Read more

本コースは、ディープラーニングをゼロから実装する講座です。

TensorFlowやChainerなどのフレームワークを使わずに、畳み込みニューラルネットワーク(CNN)までゼロから構築できるようになりましょう。

ディープラーニングをフルスクラッチで構築することにより、普遍的な原理がしっかりと身につきます。

人工知能(AI)、特にその一分野であるディープラーニングは世界中の人々の関心を集めており、自動運転、ファイナンス、流通、アート、研究、さらには宇宙探索に到るまで、様々な分野で活用をされ始めています。

本コースは、可能な限り多くの方がディープラーニングの本質を学ぶことができるように、プログラミングと数学から始めて畳み込みニューラルネットワークに至るまで、手を動かしながら少しずつ丁寧に学べるように設計されています。

また、扱うコードは直感的な分かりやすさを重視し、可能な限りシンプルで可読性の高いコードを心がけています。

本コースには前提となる知識が2つあります。

1つ目は、何らかのプログラミング言語の経験です。

本コース内でもPythonの解説をしますが、何からのプログラミング言語の経験があると学習がスムーズになります。

プログラミングが全くの初心者の方は、他のコースで基礎を身につけた上で本コースに臨むことをお勧めします。

2つ目は、中学-高校レベルの数学の知識です。

本コース内でもディープラーニングに必要な数学の解説をしますが、ベースとなる数学の知識があった方が望ましいです。

数学に自信のない方は、他のコースで数学を学んだ上で本コースに臨むことをお勧めします。

————————————————————

本コースの主な内容は以下の通りです。

Pythonの基礎

→ ディープラーニングを学ぶために必要なPythonの基礎を学びます。

数学の基礎

→ ディープラーニングを学ぶのに必要な数学のベースを身につけます。

ニューラルネットワーク

→ ニューラルネットワークの原理と仕組みを学び、簡単なニューラルネットワークのコードを実際に構築します。

バックプロパゲーション

→ 誤差の逆伝播により、ニューラルネットワークが学習する仕組みを学びます。

ディープラーニング

→ ここまで学んできた内容をベースに、層をいくつも重ねた深層学習を構築します。

畳み込みニューラルネットワーク

→ 畳み込みニューラルネットワークをゼロから構築します。

————————————————————

本コースは動画を見るのみでも学習が進められるようになっていますが、可能であればPythonのコードをダウンロードして動かしながら進めるのをお勧めします。

コードがダウンロード可能なので、これをベースにオリジナルのディープラーニングのコードを書いてみることもお勧めです。

ディープラーニングには非常に長い時間がかかる場合もありますが、本コースのコードは長くても数十秒程度で実行可能です。

本格的なAI開発につながる拡張性を確保しつつも、小さな試行錯誤を何度も繰り返すことができる作りになっています。

本コースの開発環境、AnacondaとJupyter Notebookは簡単にダウンロード、インストールすることができます。

ディープラーニングをゼロから構築しその原理を身につけていただくことが本コースの目的です。

本コースを修了した方は、知的好奇心が刺激されてディープラーニングや人工知能ののことをさらに知りたくなっているかと思います。

Enroll now

What's inside

Syllabus

コースの概要、及びディープラーニングの概要について把握します。

コースの概要、及び各セクションの概要を解説します。

ディープラーイングの概要を、人工知能や機械学習から解説します。

AnacondaとJupyter Notebookのインストール、及び必要な教材のダウンロードなどを行います。
Read more

Anacondaのインストール方法を解説します。

Anacondaの商用利用が、いくつかの条件を満たしている場合に有償となりました。

このレクチャーでは、有償化の回避策を紹介します。

Jupyter Notebookの使い方を解説します。

教材のダウンロード方法とコースの学び方について解説します。

Pythonの基礎、その1です。

Pythonの基礎、その2です。

本コースで不可欠な数値計算ライブラリ、NumPyの解説です。

本コースで不可欠なグラフ描画用ライブラリ、matplotlibの解説です。

本セクションで学ぶための基礎となる数学を解説します。

ディープラーニングで用いる線形代数の基礎を学びます。

ディープラーニングで用いる微分の基礎を学びます。

正規分布の概念とコードを学びます。

ニューラルネットワークについて、概要を学びます。

単一ニューロンで行われる計算について学びます。

順伝播と逆伝播の概念について学びます。

2つの層の間における計算について学びます。

回帰と分類の概念について学びます。

様々な活性化関数について学びます。

単一ニューロンの具体的な実装方法について学びます。

回帰の場合の、ニューラルネットワークの実装について学びます。

分類の場合の、ニューラルネットワークの実装について学びます。

バックプロパゲーションについて、概要を学びます。

訓練データとテストデータについて、概念を学びます。

損失関数について、概念と実装方法を学びます。

勾配降下法について、概念を学びます。

出力層の勾配を計算する式を導出します。

中間層の勾配を計算する式を導出します。

エポックとバッチの概念について学びます。

行列による順伝播の演算について学びます。

行列による逆伝播の演算について学びます。

バックプロパゲーションによる学習のための準備を行います。

各層をクラスとして実装します。

バックプロパゲーションの実装、回帰の例です。

バックプロパゲーションの実装、分類の例です。

ディープラーニングが抱える様々な問題について解説します。

勾配降下法における様々な最適化アルゴリズムを紹介します。

本セクションでニューラルネットワークの学習に用いるIrisデータセットについて紹介します。

本セクションにおける学習のための準備を行います。

中間層、出力層をクラスとして実装します。

全体のコードを俯瞰し、実行して結果を確認します。

ドロップアウトにより、過学習を抑制します。

畳み込みニューラルネットワークの概要について解説します。

im2colとcol2imというアルゴリズムについて解説します。

畳み込み層の実装方法について解説します。

プーリング層の実装方法について解説します。

CNNで学習を行うための準備を行います。

CNNを実装し、手書き文字の分類を行わせます。

さらに学びたい方のために、有用な情報を提供します。

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches skills and knowledge that are highly relevant to industry
Provides strong foundation for beginners
Includes mix of media, such as videos, readings, and discussions
Can still be taken alone, even though it belongs to a series
Taught by instructors who have commercial relationships with the course provider
Provides comprehensive study of one aspect of science, math, and technology

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

ディープラーニングの原理をpythonで学ぶ

受講者によると、このコースはディープラーニングの基礎原理を深く理解するための優れた入門です。特にTensorFlowなどのフレームワークに頼らずゼロから実装を学ぶ点が高く評価されています。数学的な背景アルゴリズムの仕組み非常に分かりやすく解説されており、実践的なコーディング演習を通じて知識がしっかりと定着すると多くの学習者が述べています。シンプルなコード段階的なアプローチにより、複雑な概念も無理なく習得できるとの声が多く聞かれました。一方で、フレームワークを用いた実務への応用をすぐに求める学習者にとっては、別途学習が必要となる点や、前提となる数学やプログラミングの知識が一部の学習者にはやや高いと感じられる可能性も指摘されています。しかし、本質的な理解を求めるならば非常に価値のあるコースです。
Pythonと数学の基礎経験は推奨されますが、コース内の解説で補完可能です。
"Pythonと数学の基礎に不安があったが、コース内の解説で十分補えました。"
"プログラミング経験者にはスムーズな学習でしたが、完全な初心者には少しペースが速いかもしれません。"
"もう少し深い数学の解説があれば、より複雑な応用にも対応できたかと思います。"
手を動かしてコードを書くことで、座学だけでなく実践的なスキルと理解が定着します。
"手を動かしながらコードを書いていく形式が、知識の定着に非常に役立ちました。"
"提供されるコードはすぐに試せるため、試行錯誤しながら学ぶことができました。"
"単に講義を聞くだけでなく、実際に自分の手でモデルを構築する経験ができました。"
複雑な数学やアルゴリズムも、丁寧な説明と分かりやすいコードで順を追って学べます。
"難しいバックプロパゲーションも丁寧に解説されており、つまずくことなく学習を進められました。"
"講師の説明が非常に分かりやすく、段階的に学習できる構成が素晴らしいです。"
"シンプルで可読性の高いコードのおかげで、複雑な概念も無理なく頭に入ってきました。"
フレームワークに頼らないゼロからの実装で、ディープラーニングの本質を深く理解できます。
"TensorFlowなどのフレームワークに頼らず、ディープラーニングの根本原理を深く理解できました。"
"ゼロから実装することで、なぜそう動くのかという内部の仕組みが手にとるように分かりました。"
"数式とコードが結びつき、抽象的な概念が具体的になる体験ができました。"
フレームワークは扱わないため、実務で直接利用するには別途学習が必要です。
"このコースは原理理解に特化しており、実務で使うフレームワークについては別途学習が必要だと感じました。"
"すぐにTensorFlowやPyTorchを使いたい人には、回り道に感じるかもしれません。"
"なぜ動くのかを知るには最適ですが、即座に大規模なAI開発に繋がるわけではありません。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in ディープラーニング : Pythonでゼロから構築し学ぶ人工知能(AI)と深層学習の原理 with these activities:
リフレッシュ Python
本コースではPythonを用いてディープラーニングを実装します。
Browse courses on Python
Show steps
  • Pythonの基礎を復習しましょう。
  • NumPyの数値計算ライブラリの復習。
  • matplotlibのグラフ描画ライブラリの復習。
Show all one activities

Career center

Learners who complete ディープラーニング : Pythonでゼロから構築し学ぶ人工知能(AI)と深層学習の原理 will develop knowledge and skills that may be useful to these careers:
Deep Learning Engineer
Deep Learning Engineers design and build deep learning models to solve complex problems. This course will help you build a foundation in deep learning, which is a subfield of machine learning that uses artificial neural networks to learn from data. You will learn about the different types of deep learning algorithms, how to train and evaluate them, and how to deploy them into production. This course is highly recommended for Deep Learning Researchers who conduct research in the field of deep learning.
AI Researcher
AI Researchers conduct research in the field of artificial intelligence. This course will help you build a foundation in AI, which is the study of how to create computers that can think like humans. You will learn about the different subfields of AI, such as machine learning, natural language processing, and computer vision. This course may also be helpful for AI Scientists who apply AI principles to solve real-world problems.
Machine Learning Engineer
Machine Learning Engineers design and build machine learning models to solve real-world problems. This course will help you build a foundation in machine learning, which is essential for success in this field. You will learn about the different types of machine learning algorithms, how to train and evaluate them, and how to deploy them into production. This course will also be helpful for AI Engineers who design and build artificial intelligence systems.
Statistician
Statisticians collect, analyze, and interpret data to make informed decisions. This course will help you build a foundation in statistics, which is essential for success in this field. You will learn about the different types of statistical techniques, how to design and conduct statistical studies, and how to interpret and communicate your findings to stakeholders.
Data Analyst
Data Analysts collect, analyze, and interpret data to uncover trends and patterns. This course will help you build a foundation in data analysis, which is essential for success in this field. You will learn about the different types of data, how to clean and prepare it for analysis, and how to use statistical and machine learning techniques to extract meaningful insights from data.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data. This course will help you build a foundation in quantitative analysis, which is essential for success in this field. You will learn about the different types of quantitative analysis techniques, how to develop and implement quantitative models, and how to interpret and communicate your findings to stakeholders.
Financial Analyst
Financial Analysts analyze financial data to make investment recommendations. This course will help you build a foundation in financial analysis, which is essential for success in this field. You will learn about the different types of financial analysis techniques, how to develop and implement financial models, and how to interpret and communicate your findings to stakeholders.
Actuary
Actuaries use mathematical and statistical models to assess risk. This course will help you build a foundation in actuarial science, which is essential for success in this field. You will learn about the different types of actuarial models, how to develop and implement actuarial models, and how to interpret and communicate your findings to stakeholders.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data to uncover trends and patterns. This course will help you build a foundation in data analysis and machine learning, which are essential skills for success in this field. You will learn about the different types of data, how to clean and prepare it for analysis, and how to use statistical and machine learning techniques to extract meaningful insights from data. This course may also be helpful for Data Engineers who design and build systems to manage and process data.
Business Analyst
Business Analysts analyze business processes and systems to identify areas for improvement. This course will help you build a foundation in business analysis, which is essential for success in this field. You will learn about the different types of business analysis techniques, how to conduct a business analysis study, and how to present your findings to stakeholders.
Product Manager
Product Managers are responsible for managing the development and launch of new products. This course will help you build a foundation in product management, which is essential for success in this field. You will learn about the different phases of the product development lifecycle, how to conduct market research, and how to develop and launch new products. This course may also be helpful for Project Managers who are responsible for planning and executing projects.
Marketing Manager
Marketing Managers are responsible for developing and executing marketing campaigns. This course will help you build a foundation in marketing, which is essential for success in this field. You will learn about the different types of marketing strategies, how to develop and implement marketing campaigns, and how to measure the results of your marketing efforts. This course may also be helpful for Brand Managers who are responsible for managing the brand identity of a company or product.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course will help you build a foundation in software engineering, which is essential for success in this field. You will learn about the different phases of the software development lifecycle, how to design and implement software applications, and how to test and deploy them. This course may also be helpful for Web Developers who design and develop websites and web applications.
Sales Manager
Sales Managers are responsible for leading and managing sales teams. This course will help you build a foundation in sales management, which is essential for success in this field. You will learn about the different sales management techniques, how to motivate and manage sales teams, and how to achieve sales goals. This course may also be helpful for Business Development Managers who are responsible for generating new business opportunities.
Operations Manager
Operations Managers are responsible for managing the day-to-day operations of a company or organization. This course will help you build a foundation in operations management, which is essential for success in this field. You will learn about the different types of operations management techniques, how to plan and execute operations, and how to measure the performance of operations. This course may also be helpful for Supply Chain Managers who are responsible for managing the flow of goods and services from suppliers to customers.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in ディープラーニング : Pythonでゼロから構築し学ぶ人工知能(AI)と深層学習の原理.
ディープラーニングの分野で広く読まれている定番の教科書です。理論的な背景から最新の研究成果までを網羅しています。
Kerasを使用したディープラーニングの入門書です。初心者にもわかりやすい説明と実践的なコード例が豊富に含まれています。
ディープラーニングのアーキテクチャの進化を解説した本です。CNN、RNN、Transformerなどの最新のアーキテクチャを扱っています。
コンピュータビジョンにおけるディープラーニングの応用を解説した本です。画像認識、物体検出、セマンティックセグメンテーションなどのトピックを扱っています。
R言語を使用したディープラーニングの入門書です。Kerasを使用して実装する方法を中心に解説しています。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser