第一工業大学研究報告第33号（2021）pp.9-12

教材用人工ニューラルネットワーク及びそれを用いた高校数学における行列の導入法の提案
山田 猛矢 1 ，福永 知哉 2 ，松田 翔太，野田 幸平 3
1

第一工業大学 工学部 情報電子システム工学科（〒 899-4395 鹿児島県霧島市国分中央 1-10-2）
2
第一工業大学 共通教育センター（〒 899-4395 鹿児島県霧島市国分中央 1-10-2）
3鹿児島第一中学校（〒 899-4345 鹿児島県霧島市国分府中 214 番地）

Proposal of an Artiﬁcial Neural Network for Educational Materials
and a Method of Introducing Matrices
Takeshi YAMADA1 ，Tomoya FUKUNAGA2 ，Syota MATSUDA，Kohei NODA3
1

Department of Information and Electronic Systems Engineering, Daiichi Institute of Technology
2Common Education Center, Daiichi Institute of Technology3

Kagoshima Daiichi Junior High School

Abstract : This paper proposes an artiﬁcial neural network (ANN) for educational materials and a method
for introducing matrices using the ANN for educational materials. By learning matrices using the ANN for
educational materials, it becomes clear how matrices are useful. It also helps students understand why theproduct of two 2 × 2 matrices is deﬁned the way it is. In addition, students can have an image of linear
transformations, and understand that the exchange rule does not hold true in matrix multiplication. By using
ANN for educational materials, the signiﬁcance of learning matrices becomes clearer and easier to understand.
Keywords : matrices, artiﬁcial neural network for educational materials, educational teaching method

1. はじめに材用人工ニューラルネットワークとともに提案する．

2012 年 4 月施行の学習指導要領において「数学 C」は廃止され，その内容の多くは「数学 A」や「数学 B」

2. これまでの「行列」の指導法等へ移行された [1]．そんな中，「数学 C」の内容であった行列においては，新科目「数学活用」で紹介程度に扱われるだけとなった．これにより，普通科の多くの高校生が行列を学ぶ機会を失った．2022 年施行の新学習指導要領 [2] において，「数学活用」の廃止及び「数学C」の復活に伴い，AI，ビッグデータ，IoT（Internetof Things），ロボティクス等の先端技術の基礎となる「行列」の単元復活も期待されたが，「行列」という単元は復活せず，「数学活用」から移行されたと思われる「数学的な表現の工夫」の中で行列に触れるだけとなる．
本論文は，単元としての「行列」の復活はなかった
ものの，以前，行われていた行列の内容を踏まえ，高校数学で行列を学ぶ際の行列の導入方法について，教「数学 C」が廃止される前の数学 C の教科書 [3] を見ると，まず最初に表 1 が記載され，「この表から数値だけを抜き出すと次のようになる。」()(5 3 64 6743，5922)(1)という流れで行列を導入し，行列を構成するおのおのの数を成分，横の並びを行，縦の並びを列，というよ
うに行列の説明が始まる．高校の先生方に任せているのだろうが，行列がどういうところで使われるか，どのように役立つかの説明は 1 つもない．その後，加法・減法・実数倍の説明があり，乗法，乗法の性質，逆行列と続く．加法・減法・実数倍については，これまで行ってきた数学の知識があれば特に違和感なく学習を進め第一工業大学研究報告 第33号 （2021）

表 1: 電気店 P，Q での製品の売上個数

きくても 3 × 3 行列），2 × 2 行列で表される連立 1 次方

4月

テレビ

冷蔵庫

洗濯機

程式を解いたところで，高校生が興味を持つとは思えP

536ない．そこで本論文では，具体例として人工ニューラ

Q743

ルネットワーク（Artiﬁcial Neural Network（ANN））

5月

テレビ

冷蔵庫

洗濯機

P

462Q

592に着目し，教材用 ANN の提案及び教材用 ANN を用いた行列の導入法について提案する．

(a) 人工ニューラルネットワークとは
人工ニューラルネットワーク（ANN）とは，人間の脳内にある神経細胞（ニューロン）のつながり（ネットることができるが，乗法，逆行列となるとそうはいかワーク）をモデル化したもので，ニューロン間の結合ない．なぜそのような計算になるかの説明もないまま，の強さを重みと呼ばれる量 w で表現した数理モデルで計算手法だけを学び，ただひたすら計算をやらされる．

ある．図 1 は簡単な ANN の例である．ANN は図 1 の高校生は，なぜこのような計算を行っているのだろう

中間層かという疑問を抱きつつ，教えられた通りの計算を行(1)

ようやく，行列の応用ということで，連立 1 次方程式入力層(1)きることが説明され，高校の「行列」は終わりとなる．

y1(1)

(2)

w21

w12m2

終的な到達点が「行列で連立 1 次方程式を解くことがわりに点を回転移動できる」となるわけだが，行列を出力層

w21

x1

ただひたすら訳のわからない計算をやらされ続け，最できる」，「行列で点の対象移動ができる」，「原点のまw11(2)w12が行列で解けること，行列で 1 次変換を行うことがで(2)m1

w11う．行列の単元が終わりに差し掛かってきたところで，x2(1)w22(2)

w22(1)w31

使わなくても連立 1 次方程式は解けるし，点の対象移動，回転移動も計算できる．また，現在，数学 III の内(1)w32容に含まれている複素数平面を用いても平面上の変換

y2(2)
w13

m3(2)

w23

は可能であり∗ ，何のために行列を学んだのか，行列を学び終えた後も高校生の疑問が解消されることはない．

3. 人工ニューラルネットワークによる行列導入法

図 1: 人工ニューラルネットワークの簡単な例

ように，入力層（一番左の列）と呼ばれる層から値を行列を学ぶ上で大きな問題の 1 つとなっているのが，入力し，中間層（隠れ層とも呼ばれる）（真ん中の列）どこでどのように利用されているかが高校生に全く伝を経て，出力層（一番右の列）に値が出力される．図 1

わっていないということである．AI，ビッグデータ，IoT，の○はニューロンを表し，矢印でニューロンのつながロボティクス等の先端技術の基礎となっていることをりを表している．矢印のところに書かれている w が結伝えてはいるのだろうが，行列を学んだ後に，先端技術合の強さを表す重みで，w の右上についている (1) がの基礎を学んだと実感する高校生はいないだろう．と

1 層目，(2) が 2 層目の重みを表している．また，右下

はいえ，ばね・質点系の連成振動や時間を含まないシュの数字 2 つは，次層の何番目のニューロンか，前層のレーディンガー方程式が固有値問題となっていること何番目のニューロンかを表す．w32 の場合，入力層のを伝えても何もわからないだろう．そもそも固有値，固(1)有ベクトルすら高校数学では学ばない．そうなると，高2 番目のニューロンから中間層の 3 番目のニューロンに信号を伝達する（値を渡す）ときの重みを表す．人

校生に興味を持ってもらうためには，以前の数学 C の間の脳内にあるニューロンは，周囲のニューロンから教科書で扱われていた連立 1 次方程式，1 次変換で具体信号を受け取り，ある値を超えると発火する．ANN で例を示すほかないと思われる．しかしながら，高校数学は，これを次のような形で表現している．あるニューで扱う行列を見ると，ほとんどが 2 × 2 行列であり（大∗「複素数平面」と「行列」は重要な内容であるにも関わらず，過去の学習指導要領を見るとほとんど交互に盛り込まれている．平面上の変換という共通点からそうなっていると推察されるが，現在の数学 III の複素平面の内容を「平面上の変換」という観点から見ると補足的な扱いとなっており十分とは言えない．現状において「平面上の変換」の考えを扱えるのは「複素数平面」の単元が唯一であり，「変換」の考えを高校数学でどのように扱うかは，今後の課題である．

ロンが受け取る値は，結合の強さを表す重みが乗算され，受け取った値の総和が閾値を超えると次のニューロンに値を渡す．以下では，簡単のため閾値は考慮せず，入力値がどのように出力層に伝わるかを具体的に見ていく．
改めて図 1 を見ていただきたい．入力層から入力さ山田・福永・松田・野田：教材用人工ニューラルネットワーク及びそれを用いた高校数学における行列の導入法の提案れた x1 , x2 は次のように中間層に値を渡す．
(1)

(1)

入力層

m1 = w11 x1 + w12 x2(2)(1)(1)
m2 = w21 x1 + w22 x2(1)(1)
m3 = w31 x1 + w32 x2

(3)

中間層

px1(4)

入力値 x1 , x2 にそれぞれ固有の重みが乗算され，それx2間層から出力層へは次のように値が伝達される．
(2)
(2)
(2)
y1 = w11 m1 + w12 m2 + w13 m3
(2)
(2)
(3)
y2 = w21 m1 + w22 m2 + w23 m3

am1y1qbrcm2sを足し合わせたものが中間層に送られる．同様に，中出力層y2d

図 2: 行列の乗法導入のための教材用 ANN

(5)
(6)

この時点では多い．しかしながら，乗法の説明に入る

ここで出力層に出力される値について簡単に説明する．と話は変わってくる．特に 2 × 2 行列どうしの乗法は，機械学習† の分野で最も有名な手書き数字の画像セット（MNIST）を用いて「0」〜「9」の数字を識別させる場
合を考える．出力層には「0」〜「9」に対応したニューロンが 10 個準備され，各ニューロンにはその数字である確率が出力される．入力として手書き数字画像を入力し，出力層に出力される確率のうち一番高い確率に対応している数字が，ANN が認識した数字となる．つまり，出力層の値を見ることで，ANN がどの数字だと認識したかがわかるということである．次に，ANN の学習について説明する．ANN の学習とは，出力値が正しい結果を与えるように重み w を最適化する作業である．重み w には初期値として乱数をセットする．その後，入力データを入力層に入れ，出力結果を見る．初めのうちは，出力結果はでたらめなものであるが，正なぜそのような計算をするのかわからないという高校生が多い．そこで，本論文では，まず教材用 ANN の提案を行い，次に教材用 ANN を用いた行列の乗法の導入法を提案する．
・教材用 ANN
教材用 ANN は，(a) で説明した内容のみの簡単なANN である．入力層，中間層，出力層から成り，入力された値は重みが乗算され，次のニューロンに渡されるという単純なモデルである．ニューロンの数，中間層の数は自由に取ることができる．
・教材用 ANN を用いた行列の乗法の導入
入力層の入力値 2 つ，中間層 1 層・ニューロン数 2つ，出力層の出力値 2 つの図 2 のような教材用 ANN を考える．入力された x1 , x2 は中間層に対して次の値

しい結果と比較することにより‡ ，正しい結果が得られるように重み w を更新していく．これを何度も繰り返

m1 = px1 + qx2(7)m2 = rx1 + sx2(8)すことにより，重み w が最適化され，正しい結果が得られるようになる．
行列導入のための ANN なので，これ以上，ANN にを伝達する．ここで，式 (7)，(8) は行列の積の定義を用いると深入りはしないが，実際，ANN を理解し，利用しよう(と思えば，ニューロンの数，中間層の数，バイアス，活性化関数，損失関数，誤差逆伝搬法など，様々な重要な方法を学ぶ必要がある．しかしながら，行列の導入
例で ANN を取り上げるとき，これらの内容は行列の理解の妨げとなる可能性が高く，これ以上の説明は省

m1m2)(=prqs)(x1x2)(9)と表すことができる．つまり，2 × 2 行列と 2 行の列ベクトルの積の定義が)()(x1p qr略する．ANN について興味のある方は参考文献 [4] をsx2(≡px1 + qx2rx1 + sx2)(10)

参照されたい．

であることを伝える．ここで，行列と ANN の相性の(b) 教材用人工ニューラルネットワークを用いた行列良さを伝え，ANN は多くの行列計算で成り立っているの乗法導入ことを伝える．さらに，1 次変換の概念として，x1 , x2行列を学んでいく中で，高校生がまず理解に苦しむという入力値が行列により m1 , m2 に変換されたといのが行列の乗法である．加法・減法・実数倍についてう捉え方を伝える．続いて出力層に渡す出力値を計算は，特に抵抗なく受け入れてくれる．これまで学んでする．

きた数学と比較しても，行列は簡単だと思う高校生が† ANN は機械学習の中の 1 つのアルゴリズムである．

‡ 教師あり学習と呼ばれる学習方法は，正しい結果があらかじめわかっており，正しい結果となるように重み w を最適化していく．

y1 = am1 + bm2(11)y2 = cm1 + dm2(12)第一工業大学研究報告 第33号 （2021）に変換され，さらに A により (−1, −2) に変換される．

式 (11)，(12) に式 (7)，(8) を代入すると

次に A の 1 次変換を行った後に P の 1 次変換を行う場

y1 = (ap + br)x1 + (aq + bs)x2(13)y2 = (cp + dr)x1 + (cq + ds)x2(14)となる．これを行列で表すと() ()()y1
ap + br aq + bs
x1
=y2
cp + dr dq + dsx2

合を考える．Z は A により (−1, 2) に変換され，さらに P により (1, 2) に変換される．1 次変換は行う順番により，結果が全く異なってくる．この 1 次変換のイメージを持っていれば，行列の乗法において交換法則(15)が成り立たないことは（P A ̸= AP ）自明なこととして理解してもらえるだろう．交換法則が成り立たないという性質も，行列を学ぶ中で高校生が戸惑うところでとなる．
一方，式 (11)，(12) を行列で表すと() ()()
y1a bm1=y2c dm2となり，これに式 (9) を代入すると)())(() (x1p q
y1a b=r sx2c dy2ある．無機質な計算の末，計算結果が異なることから成り立たないという教え方でもいいのかもしれないが，(16)1 次変換のイメージを持つだけですっきりと理解してもらえる．行列の最後に応用という形で 1 次変換を導入するよりも，もっと早い段階で 1 次変換のイメージを持ってもらうのもよいのではないだろうか．

(17)

4. おわりに
本論文は，教材用 ANN の提案及び，それを用いた行となる．式 (15)，(17) は等しくなければならないので，2 × 2 行列どうしの積は) ()((ap + brp qa b=
cp + drr sc daq + bs
dq + ds)

列の導入方法についての提案を行った．行列の導入時に ANN の説明を行うことで，行列がどのようなところで使われているのか，どのように役立っているのかが明確となる．また，2 × 2 行列と 2 行の列ベクトルの(18)積の定義は必要となるが，2 × 2 行列どうしの積についても，なぜあのように定義されるのか納得できる．さとなることがわかる．これは，2 × 2 行列どうしの積の計算を示すと同時に，入力値 x1 , x2 を行列)
(p qP =r s

らに，教材用 ANN を用いる中で 1 次変換のイメージを持つことができ，行列の乗法において交換法則が成り立たないことが自明のこととして捉えることができ(19)る．加えて，線形代数の入り口に立ち，教材用 ANN を扱うことで，現在の先端技術の基礎に触れることがでで 1 次変換し，さらに変換後の値を行列()
a bA=c d

きる．教材用 ANN を用いた行列導入により，行列を学ぶ意義が明確となり，理解も容易となる．

(20)

今後の課題は，実際に教材用 ANN を用いて高校生に行列を教え，高校生のつまづくところ，理解に苦しで 1 次変換した結果と，入力値 x1 , x2 を行列()
ap + br aq + bs
W =cp + dr dq + ds

むところを洗い出し，改善していくことである．

(21)で変換したときの値が等しいことを表す．これは，教謝辞
本論文を作成するにあたり御助言いただいた鹿児島第一中学校 山口太一先生に深く感謝する．

材用 ANN において最適な重みが決まれば，その行列参考文献の積を計算することで．入力値から出力値を 1 回の計[1] 文部科学省, 高等学校学習指導要領解説 数学編, 平成 21 年 11 月算で求めることができることを意味する§ ．ただし，1えば，P が y 軸に関して対称な点に移す 1 次変換，A[2] 文部科学省, 高等学校学習指導要領（平成 30 年告示）解説 数学編 理数編, 平成 30 年 7 月が原点の周りに 90 °回転させる 1 次変換だったとしよ[3] 飯高茂・松本幸夫, ほか 21 名, “数学 C”, 東京書籍

次変換を行う上で変換の順番は非常に大事になる．例う．このとき，点 Z (2, 1) にまず P の変換を行い，続いて A の変換を行うことを考える．Z は P により (−2, 1)§ 一般に ANN はバイアスや活性化関数などが含まれる．そのため，すべての値を次のニューロンに伝達するわけではなく，最適な重みが決まっても 1 つの重み行列として扱うことはできない．

株式会社, 2013[4] 斎藤康毅, “ゼロから作る Deep Learning –Python
で学ぶディープラーニングの理論と実装”, オライリー・ジャパン, 2016