SlideShare a Scribd company logo
1 of 41
Download to read offline
第5週 コンピュータシミュレーションと
AI支援ツールの活用
東京大学大学院 理学系研究科 生物科学専攻
東京大学 理学部 生物学科
植物生理学研究室 米倉崇晃
初年次ゼミナール理科「生命現象とモデリング」
初年次ゼミナール理科 種子田・米倉
用いるコード:ITC-LMSよりダウンロード
ITC-LMS
拡張子が.ipynbのものが、今日の実習で用いるpythonのコード。
初年次ゼミナール理科 種子田・米倉
数理モデルとコンピュータシミュレーション
(i) 解析困難な事象について、近似計算に基づいてその挙動を確認する
(ii) 手続き型の事象について、その手続きが何を生むかを確認する
コンピュータシミュレーションの基本
コンピュータシミュレーションに必要な能力
プログラミング ← ライブラリの発達やAI支援の充実により簡便化
数値計算・手続きの構成 ← 頑張って考える
初年次ゼミナール理科 種子田・米倉
本講義の目的
プログラミングをAIの支援を受けながら作ることができる
プログラミングの構成の基本を理解する
初年次ゼミナール理科 種子田・米倉
本講義で用いるプログラミング言語と開発環境
Colaboratory (Google Colab)
Googleが提供している、ブラウザから直
接Pythonを記述、実行できるサービス。
環境構築が要らないので、誰でもすぐに使える。
Python
恐らく一般に最も使われているプログラミング言語。
読みやすく、効率が良いコードを簡単に書けるように、という
設計思想があるため、初学者へのオススメ度も高い。
* ECCS端末にはIDEとしてXcode、Eclipseが用意されているので、よ
り快適に計算したい、pythonより慣れた言語(C、Java等)で計算し
たい、などの理由があれば、初ゼミではこちらを利用するのも良い。
また、モデルによってはExcelで十分なこともある。
初年次ゼミナール理科 種子田・米倉
プログラミングのプラットフォーム:Google Colab
ECCSクラウドメール(@g.ecc.u-tokyo.ac.jp)でGoogle Colabにログイン
初年次ゼミナール理科 種子田・米倉
演習①:Hello World!
ファイル名
スクリプトに新しいコード欄を追加する
適切な命令を書きこむ
実行ボタンを押してみよう
print("hello, world")
hello, worldという文字を出力(print)せよ、というコード。
初年次ゼミナール理科 種子田・米倉
pythonプログラミング
まず第一に関数を押さえよ。
y=f(x)と本質は同じ。
初年次ゼミナール理科 種子田・米倉
෍
𝑘=1
𝑛
𝑘2 =
1
6
𝑛 𝑛 + 1 2𝑛 + 1 だな……。
෍
𝑘=1
100
𝑘2
=
100 ∙ 101 ∙ 201
6
= 338350 だ!
答えを書く
pythonプログラミングでは関数を押さえよ
例題:σ𝑘=1
100
𝑘2
を計算せよ。
① 計算式(関数)の宣言
② 関数に代入して実際に計算
③ 出力
初年次ゼミナール理科 種子田・米倉
Pythonにおける関数
例:෍
𝑘=1
𝑛
𝑘2
=
1
6
𝑛 𝑛 + 1 2𝑛 + 1
def sum_k2(n):
x = n*(n + 1)*(2*n + 1)/6
return x
公式の名前はsum_k2にしますよ。
sum_k2(n)って書くと(nは数)
n*(n+1)*(2*n+1)を戻しま
すよ(戻り値)。
print(sum_k2(100))
① 計算式(関数)の宣言
② 関数に代入して実際に計算
③ 出力 予め用意された関数。引数を出力に書く。
初年次ゼミナール理科 種子田・米倉
Pythonにおける関数
def sum_k2(n):
x = n*(n + 1)*(2*n + 1)/6
return x
print(sum_k2(100))
def sum_k2(n):
x = n*(n + 1)*(2*n + 1)/6
return x
s = sum_k2(100)
print(s)
初年次ゼミナール理科 種子田・米倉
演習②:ロトカ・ヴォルテラ方程式
動物の個体数が変動する原因を突き止めるために作られた数理モデル
詳しくは各自で調べてください。
𝑑𝑥
𝑑𝑡
= 𝛼𝑥 − 𝛽𝑥𝑦
𝑑𝑦
𝑑𝑡
= 𝛾𝑥𝑦 − 𝛿𝑦
𝑥: 被食者の個体数/個体密度
𝑦: 捕食者の個体数/個体密度
被食者
捕食者
餌が豊富なら、一定の増殖率で増える。
捕食者に食われて死ぬ(自然死はない)。
被食者を食うことで増える。
一定の確率で自然死する。
初年次ゼミナール理科 種子田・米倉
演習②:ロトカ・ヴォルテラ方程式
動物の個体数が変動する原因を突き止めるために作られた数理モデル
詳しくは各自で調べてください。
これを計算したい。
𝑑𝑥
𝑑𝑡
= 𝛼𝑥 − 𝛽𝑥𝑦
𝑑𝑦
𝑑𝑡
= 𝛾𝑥𝑦 − 𝛿𝑦
𝑥: 被食者の個体数/個体密度
𝑦: 捕食者の個体数/個体密度
プログラミングで微分方程式を直接「解く」ことはできないので、近似的に取り扱う。
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛 Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
Euler法
* Runge-Kutta法(高精度)や構造保存数値解法(興味のある特徴の保存)など、
より良いとされる解法もある。
𝑑𝑥 = 𝛼𝑥 − 𝛽𝑥𝑦 𝑑𝑡 𝑑𝑦 = 𝛾𝑥𝑦 − 𝛿𝑦 𝑑𝑡
初年次ゼミナール理科 種子田・米倉
オイラー法で微分方程式のシミュレーション
時間方向の離散化
𝑡
𝑢
𝑑𝑢
𝑑𝑡
= 𝑓 𝑢
厳密解
𝑢 = 𝑢0 + න
𝑡0
𝑡
𝑓 𝑢 𝑑𝑡
初年次ゼミナール理科 種子田・米倉
オイラー法で微分方程式のシミュレーション
𝑑𝑢
𝑑𝑡
= 𝑓 𝑢
時間方向の離散化
𝑡
𝑢
数値解
𝑢𝑘+1
= 𝑢𝑘 + 𝑓 𝑢𝑘 ∆𝑡
ある時間の𝑢の変化量は一定と近似する。
∆𝑡 ∆𝑡
∆𝑡
∆𝑡
区間内の変化速度は、
区間の開始時点のもの
を使うと楽々計算でき
る(オイラー法)
初年次ゼミナール理科 種子田・米倉
オイラー法で微分方程式のシミュレーション
𝑑𝑢
𝑑𝑡
= 𝑓 𝑢
時間方向の離散化
𝑢
数値解
𝑢𝑘+1
= 𝑢𝑘 + 𝑓 𝑢𝑘 ∆𝑡
∆𝑡を小さくすればどんどん厳密解に近づく。
𝑡
初年次ゼミナール理科 種子田・米倉
オイラー法の別の書き方
𝑑𝑢
𝑑𝑡
= 𝑓 𝑢
元の微分方程式
離散化
𝑢𝑇 = 𝑢0 + න
𝑡0
𝑇
𝑓 𝑢 𝑑𝑡
lim
Δ𝑡→0
Δ𝑢
Δ𝑡
= 𝑓 𝑢
Δ𝑢 ≈ 𝑓 𝑢 Δ𝑡 𝑢𝑇 ≈ 𝑢0 + ෍
𝑡=𝑡𝑜
𝑡=𝑇−1
𝑓 𝑢𝑡 Δ𝑡
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛 Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
Euler法
𝑑𝑥
𝑑𝑡
= 𝛼𝑥 − 𝛽𝑥𝑦
𝑑𝑦
𝑑𝑡
= 𝛾𝑥𝑦 − 𝛿𝑦
初年次ゼミナール理科 種子田・米倉
プログラミングのプラットフォーム:Google Colab
Lotka-Volterra.ipynbをアップロードする。
初年次ゼミナール理科 種子田・米倉
演習②:シミュレーションの構成
コードの全貌
ライブラリのインポート
関数の宣言
実際の計算
Pythonでは、ごく基本的な関数以外は適宜ライブラリからインポートする。
一般に公開されている手法は、ほぼどこかのライブラリに格納されている。
今回のシミュレーションで用いる関数を宣言する。
② どのようなルールに従って行列を更新するかを宣言する。
③ 行列を、どのように図示するかを宣言する。
上で宣言した関数を用いて、実際に計算して、結果をgifで出力する。
① どのようなルールに従って最初の行列を与えるかを宣言する。
初年次ゼミナール理科 種子田・米倉
演習②:ライブラリのインポート
Pythonでは、ごく基本的な関数以外は適宜ライブラリからインポートする。
一般に公開されている手法は、ほぼどこかのライブラリに格納されている。
数式処理のライブラリ
グラフ描画のライブラリ
初年次ゼミナール理科 種子田・米倉
演習②:関数の宣言
今回のシミュレーションで用いる関数を宣言する。
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛 Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
初年次ゼミナール理科 種子田・米倉
演習②:実際の計算(1)
上で宣言した関数を用いて、実際に計算する。
パラメータの値はこのようにしますよ。
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛
Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
Euler法
初年次ゼミナール理科 種子田・米倉
演習②:実際の計算(2)
上で宣言した関数を用いて、実際に計算する。
0, dt, 2dt, 3dt, …, Ndt=T までの数字を格納した配列を作る
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛
Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
Euler法
𝑥𝑛、 𝑦𝑛を入れるデータ領域をあらかじめ用意する。
𝑥0、 𝑦0の値をその領域の先頭に記録しておく。
𝑋 = 𝑥0, 𝑥1, 𝑥2, 𝑥3, 𝑥4, … 𝑥𝑁
𝑌 = 𝑦0, 𝑦1, 𝑦2, 𝑦3, 𝑦4, … 𝑦𝑁
𝑡 = 𝑡0, 𝑡1, 𝑡2, 𝑡3, 𝑡4, … 𝑡𝑁
𝑡
𝑥, 𝑦
Δ𝑥𝑖, Δ𝑦𝑖の値を計算
𝑥𝑖+1 = 𝑥𝑖 + Δ𝑥𝑖 𝑦𝑖+1 = 𝑦𝑖 + Δ𝑦𝑖
初年次ゼミナール理科 種子田・米倉
演習②:実際の計算(3)
これを図示する。
𝑋 = 𝑥0, 𝑥1, 𝑥2, 𝑥3, 𝑥4, … 𝑥𝑁
𝑌 = 𝑦0, 𝑦1, 𝑦2, 𝑦3, 𝑦4, … 𝑦𝑁
𝑡 = 𝑡0, 𝑡1, 𝑡2, 𝑡3, 𝑡4, … 𝑡𝑁
𝑡
𝑥, 𝑦
𝑥
𝑦
初年次ゼミナール理科 種子田・米倉
演習②:理論値との違い
Lotka-Volterraモデルは、本当は軌道が変わらない、ハズ(保存量がある)。
どう改善すればいいのだろうか……?
係数の設定は実体を反映している?
初年次ゼミナール理科 種子田・米倉
演習③:ライフゲーム(Conway's Game of Life)
セル・オ-トマトン(cellular automaton)
の例。非常に単純な規則で作られた人工生命。
詳しくは各自で調べてください。
これを計算する。
ルール
誕生:隣接する生細胞が3つ→当該セルは「生」まれる
生存:隣接する生細胞が2つまたは3つ→当該セルは「生」き続ける
過疎:隣接する「生」細胞が1つ以下→当該セルは過疎で「死」ぬ
過密:隣接する「生」細胞が4つ以上→当該セルは過密で「死」ぬ
黒は生きた細胞、白は死んだ細胞である。
初年次ゼミナール理科 種子田・米倉
プログラミングのプラットフォーム:Google Colab
GameOfLife.ipynbをアップロードする。
初年次ゼミナール理科 種子田・米倉
演習③:ライフゲーム(Conway's Game of Life)
コードの全貌
ライブラリのインポート
関数の宣言
実際の計算
Pythonでは、ごく基本的な関数以外は適宜ライブラリからインポートする。
一般に公開されている手法は、ほぼどこかのライブラリに格納されている。
今回のシミュレーションで用いる関数を宣言する。
② どのようなルールに従って行列を更新するかを宣言する。
③ 行列を、どのように図示するかを宣言する。
上で宣言した関数を用いて、実際に計算して、結果をgifで出力する。
① どのようなルールに従って最初の行列を与えるかを宣言する。
初年次ゼミナール理科 種子田・米倉
演習③:ライフゲーム(Conway's Game of Life)
数式処理のライブラリ
Pythonでは、ごく基本的な関数以外は適宜ライブラリからインポートする。
一般に公開されている手法は、ほぼどこかのライブラリに格納されている。
グラフ描画のライブラリ
画像・動画の入出力ライブラリ
初年次ゼミナール理科 種子田・米倉
演習③:ライフゲーム(Conway's Game of Life)
今回のシミュレーションで用いる関数を宣言する。
1 0 0
0 1 1
1 0 1
board_size次正方行列を作り、
各成分に0 ≤ 𝑠 < 2の整数を
ランダムに詰める。
1 0 0
0 1 1
1 0 1
1 1 0
1 0 1
0 1 1
1 1 0
1 0 1
0 1 1
行列が入力されたらどういう行列
を返すのかルールを決める。
行列が入力されたらどういう画像
を返すのかルールを決める。
初年次ゼミナール理科 種子田・米倉
演習③:ライフゲーム(Conway's Game of Life)
上で宣言した関数を用いて、実際に計算して、結果をgifで出力する。
1 0 0
0 1 1
1 0 1
行列の用意。
画像の用意。
iterations回繰り返し、行列を更新して
は出力画像をimagesに入れる。
imagesをgif形式で保存する。
初年次ゼミナール理科 種子田・米倉
演習③:ライフゲーム(Conway's Game of Life)
全部実行した後にフォルダを開くと、出力ファイルが一時的に保存されている。
初年次ゼミナール理科 種子田・米倉
AI支援との付き合い方
https://utelecon.adm.u-tokyo.ac.jp/docs/20230403-generative-ai
(前略)AI分野でも2017年にアシロマAI23原則が発表されましたが、生成
系AIの最近の進歩を踏まえ、再度ガイドラインが見直されるかもしれませ
ん。
このお知らせでは、東京大学の学生や教職員が生成系AIに対してどのよう
に向き合うべきか、現在の状況(急速に変化している最中ですが)を踏ま
え、第一報として情報を共有したいと思います。
何ができるか、「検索」ではなく「相談」するシステム
仕組み上、書かれている内容の信憑性には注意が必要
機密情報や個人情報などを安易にChatGPTに送信することは危険
生成系AI(ChatGPT, BingAI, Bard, Midjourney, Stable Diffusion等)に
ついて
初年次ゼミナール理科 種子田・米倉
AI支援との付き合い方
画像生成系のAIでは、インターネット上のコンテンツを取り込んで学習し、
画像を生成しています。現在、これらの元画像を作成した著者が、知らない
うちに著作権を侵害されたとして問題提起を行っています。将来的に生成系AI
が生み出したコンテンツが訴訟の対象になる可能性があるかもしれません。
また、学位論文やレポートを提出する際や、学術誌などに論文投稿する際に、
生成系AIをだけを用いた文書を提出してはならないという規定が出始めてい
ます。本学では学位やレポートについては、学生本人が作成することを前提と
しておりますので、生成系AIのみを用いてこれらを作成することはできません。
将来著作権や文書を用いた試験・評価に問題が発生する可能性がある
https://utelecon.adm.u-tokyo.ac.jp/docs/20230403-generative-ai
初年次ゼミナール理科 種子田・米倉
チャットGPTでプログラミングを書かせる
適切な問いを投げると、ときどき間違いはあるものの、それらしい枠組みは提供し
てくれる。
ただし、かなり紛らわしい過ちがある場合もあるので、校正のためプログラミング
の修練は依然として必要。
GPT-3.5、GPT-4に「この行の~というコードの意味は?」と尋ねると、回答が生
成されるので、それを参考にしながらコードを解読し、参考書やwebサイトの情報
も使ってみながら、コードを修正していくのがこれからのプログラミングの勉強法
の最適解になるかもしれない。
ウェブブラウザ版ChatGPTはデフォルトでこちらが渡したデータが学習に使われる
規約になっており(2023/4/25より設定から変更可)、逆にAPI版はデフォルトで
使われない規約になっている。ただし学習に使わないとしても、データは30日保持
されるので、機密性のあるデータをChatGPTで扱わないことが原則!
初年次ゼミナール理科 種子田・米倉
AI支援ツールを使った実例 ① チャットGPT
初年次ゼミナール理科 種子田・米倉
AI支援ツールを使った実例 ① チャットGPT
import numpy as np
import matplotlib.pyplot as plt
# ロトカ・ボルテラ方程式のパラメータ
alpha = 1.0
beta = 0.5
gamma = 0.5
delta = 2.0
# 時間範囲と時間ステップ
t0 = 0.0
tmax = 50.0
dt = 0.01
# 初期値
x0 = 2.0
y0 = 1.0
# 時間ステップの数
nsteps = int((tmax-t0)/dt)
# 時間軸の作成
t = np.linspace(t0, tmax, nsteps+1)
# x, yの初期化
x = np.zeros(nsteps+1)
y = np.zeros(nsteps+1)
x[0] = x0
y[0] = y0
# ロトカ・ボルテラ方程式のシミュレーション
for i in range(nsteps):
x[i+1] = x[i] + dt * (alpha * x[i] - beta * x[i] * y[i])
y[i+1] = y[i] + dt * (gamma * x[i] * y[i] - delta * y[i])
# プロット
plt.plot(t, x, label='Prey')
plt.plot(t, y, label='Predator')
plt.xlabel('Time')
plt.ylabel('Population')
plt.legend()
plt.show()
Euler法
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛
Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
# ロトカ・ボルテラ方程式を定義
def lotka_volterra(X, t, a, b, c, d):
x, y = X
dxdt = a*x - b*x*y
dydt = c*x*y - d*y
return [dxdt, dydt]
# パラメータを設定
a = 1.0
b = 0.1
c = 0.1
d = 1.0
# 初期条件を設定
x0 = 10.0
y0 = 2.0
X0 = [x0, y0]
# シミュレーションの時間軸を定義
t = np.linspace(0, 30, 1000)
# 微分方程式を解く
sol = odeint(lotka_volterra, X0, t, args=(a, b, c, d))
# 結果をプロット
plt.plot(t, sol[:, 0], label='Prey')
plt.plot(t, sol[:, 1], label='Predator')
plt.xlabel('Time')
plt.ylabel('Population')
plt.title('Lotka-Volterra Model')
plt.legend()
plt.show()
いくつかの手法の組
み合わせ。ただし、
今はもっといい関数
がある(GPT-3.5は
「知らない」)。
初年次ゼミナール理科 種子田・米倉
AI支援ツールを使った実例 ② AI Programmer
初年次ゼミナール理科 種子田・米倉
AI支援ツールを使った実例 ② AI Programmer
import numpy as np
import matplotlib.pyplot as plt
def lotka_volterra(x, y, a, b, c, d):
return np.array([a*x - b*x*y, -c*y + d*x*y])
def main():
# パラメータ
a = 1.
b = 0.1
c = 1.5
d = 0.75
# 初期値
x0 = 10
y0 = 2
# 幅
W = 30
# 時間
T = 60
# 刻み
dt = 0.01
# データ数
N = int(W/dt)
# ロトカボルテラ方程式
X = np.zeros(N)
Y = np.zeros(N)
X[0], Y[0] = (x0, y0)
for i in range(N-1):
X[i+1], Y[i+1] = X[i] + dt * lotka_volterra(X[i], Y[i], a, b, c, d)[0], Y[i] + dt * lotka_volterra(X[i], Y[i], a, b, c, d)[1]
# グラフ
plt.plot(X, Y)
plt.show()
if __name__ == '__main__':
main()
Δ𝑥𝑛 = 𝛼𝑥𝑛−1 − 𝛽𝑥𝑛−1𝑦𝑛−1 Δ𝑡
𝑥𝑛 = 𝑥𝑛−1 + Δ𝑥𝑛
𝑦𝑛 = 𝑦𝑛−1 + Δ𝑦𝑛 Δ𝑦𝑛 = 𝛾𝑥𝑛−1𝑦𝑛−1 − 𝛿𝑦𝑛−1 Δ𝑡
Euler法
初年次ゼミナール理科 種子田・米倉
自力で修正:Euler法→Runge-Kutta法に変える
# ロトカ・ボルテラ方程式のシミュレーション
for i in range(nsteps):
x[i+1] = x[i] + dt * (alpha * x[i] - beta * x[i] * y[i])
y[i+1] = y[i] + dt * (gamma * x[i] * y[i] - delta * y[i])
# ルンゲ・クッタ法での計算方法を定義
def pp_system(state, alpha, beta, gamma, delta):
x, y = state
dxdt = alpha * x - beta * x * y
dydt = gamma * x * y - delta * y
return np.array([dxdt, dydt])
def RK_step(state, dt, system, *args):
k1 = system(state, *args)
k2 = system(state + 0.5 * dt * k1, *args)
k3 = system(state + 0.5 * dt * k2, *args)
k4 = system(state + dt * k3, *args)
return state + (dt / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4)
# ロトカ・ボルテラ方程式のシミュレーション
for i in range(nsteps):
state = RK_step(state, dt, pp_system, alpha, beta, gamma, delta)
x[i+1], y[i+1] = state
初年次ゼミナール理科 種子田・米倉
Take home message
Pythonによるプログラミング
AIによる支援
近年のAIの発展は目覚ましい。
簡単なコードを書くことはAIに代行させられる。
ただし、適切な知識に基づく修正は必要。
担当の先生が良しとしない限り使わないでくださいね。
関数:必要な計算手法を宣言する
ライブラリ:あらかじめ用意してくれた関数を使おう

More Related Content

Similar to 2023_freshman

TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座Ruo Ando
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Seiya Tokui
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Yasutomo Kawanishi
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cythonAtsuo Ishimoto
 
実験心理学者のためのPython
実験心理学者のためのPython実験心理学者のためのPython
実験心理学者のためのPythonMasataka Miyoshi
 
ディープニューラルネット入門
ディープニューラルネット入門ディープニューラルネット入門
ディープニューラルネット入門TanUkkii
 
2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest information2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest informationSony Network Communications Inc.
 
Python基礎その2
Python基礎その2Python基礎その2
Python基礎その2大貴 末廣
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能Yuya Unno
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門SatoYu1ro
 
Gura プログラミング言語の紹介
Gura プログラミング言語の紹介Gura プログラミング言語の紹介
Gura プログラミング言語の紹介Yutaka Saito
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装Shinya Akiba
 
DS Exercise Course 2
DS Exercise Course 2DS Exercise Course 2
DS Exercise Course 2大貴 末廣
 

Similar to 2023_freshman (20)

TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
Django_fukuoka
Django_fukuokaDjango_fukuoka
Django_fukuoka
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
実験心理学者のためのPython
実験心理学者のためのPython実験心理学者のためのPython
実験心理学者のためのPython
 
Django_Fukuoka
Django_FukuokaDjango_Fukuoka
Django_Fukuoka
 
ディープニューラルネット入門
ディープニューラルネット入門ディープニューラルネット入門
ディープニューラルネット入門
 
Rの高速化
Rの高速化Rの高速化
Rの高速化
 
2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest information2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest information
 
Python基礎その2
Python基礎その2Python基礎その2
Python基礎その2
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
Boost Tour 1.50.0 All
Boost Tour 1.50.0 AllBoost Tour 1.50.0 All
Boost Tour 1.50.0 All
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
Gura プログラミング言語の紹介
Gura プログラミング言語の紹介Gura プログラミング言語の紹介
Gura プログラミング言語の紹介
 
Pytorch 01
Pytorch 01Pytorch 01
Pytorch 01
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
DS Exercise Course 2
DS Exercise Course 2DS Exercise Course 2
DS Exercise Course 2
 

2023_freshman