ラベル seq2seq の投稿を表示しています。 すべての投稿を表示
ラベル seq2seq の投稿を表示しています。 すべての投稿を表示

2021年1月24日日曜日

DNA鎖を再帰的ニューラルネットワークSeq2seqの学習データに(2)

 【what is this】リカレント(再帰的)ニューラルネットワークの一種であるSeq2seqを理解する際に必要となるデータセットの準備です。前回に引き続き、分子生物学のDNA鎖を入力データとして利用しました。前回のものよりも学習が難しいと思われたデータ(ゲノムショットガン法の考え方に基づく)を採用したのですが、難なく学習を完了することができました。

Attention付きSeq2seqへの学習データ
 今回用意した学習データをFig.1に示します。使用文字は、塩基を表す4文字(A, T, G, C)です。入力データは12文字から成ります。これに対して、「ある変換規則」でラベル(9〜12文字)を生成しています。全部で60,000件あります。これを使った学習が完全に終われば、この「変換規則」を見い出したことになります。


Attention付きSeq2seqでの学習の結果
 結論から言いますと、Fig.2のとおり、なんなく学習が完了しました。すなわち、入力60,000件のうち9割を訓練用に、1割をテスト用にした場合、エポック8で正解率100%に達しました。実際に、学習後には、60,000件のデータ全てに対して正解のラベルが得られました。改めて、Attention付きAeq2seqの性能を堪能できました。



入力データからラベルへの変換規則
 ここで、上に述べた入力データをラベルに対応させる「ある変換規則」を示します。Fig.3にあるとおりですが、ゲノムショットガン法と呼ばれる方法の一部を利用しています。すなわち、まず、入力データを2等分し、左側の末尾と右側の先頭で連続した共通部(最大3文字まで)を見つけ、それを「のりしろ」として、両者を再結合させたものがラベルとなります。

 ただし、入力データを全くランダムに作成するのではなく、4つのパターン(a)(b)(c)(d)がほぼ均等に出現するように、入力データの生成を工夫しています。


2021年1月20日水曜日

DNA鎖を再帰的ニューラルネットワークSeq2seqの学習データに(1)

【what is this】リカレント(再帰的)ニューラルネットワークの一種であるSeq2seqは、ある時系列データを別の時系列データへ変換します。その理解のために、分子生物学に出てくるDNA鎖を入力データとして利用しました。長さ6の2つのDNAの連接とそれに必要な相補配列を5万セット学習させた結果、必要な相補配列を100%予測できるようになりました。

Attention付きSeq2seqへの学習データ
 このタイプのリカレントニューラルネットワークについては、別の記事で簡単に書きました。その際は、英文→和文、あるいは、和文→英文を言語コーパスとして与えて学習させ、機械翻訳を行いました。今回は別の種類のコーパスとして、DNA鎖をとりあげます。と言っても、ここでは、それを塩基(A, T, G, C)の文字列として扱うに過ぎません。

 図1に示すような学習データを用意しました。各行は、12文字からなる入力データ(DNA)と、それに対して「ある規則」で生成したラベル(相補配列)6文字で構成されています。使われる文字は、4つ(A, T, G, C)だけです。この場合、入力データは約1,700万個(4の12乗)作れますが、ここでは、そのうちからランダムに5万個(5万行)を選択しました。



DNA鎖と対応相補配列の学習
 このデータを、前回と同様に、Attention付きSeq2seqで学習させます。5万件のうち、訓練には45,000件を、テスト用には5,000件を使いました。学習状況は図2のとおりです。6epochsで、テスト用5,000行に対して全て正解(正解率100%)となりました。実際、全データ5万件に対して全て正解でした。


入力データとラベルの対応規則
 入力データからラベルを生成する「ある規則」とは図3(a)に示したとおりです。それには、ワトソン・クリック相補性が使われています。すなわち、入力データを(T→A, A→T, G→C, C→G)に従って置換したものをラベルとしました。ただし、置換する部分は、入力の中央の6文字に対してだけであることにご注意下さい。ということは、入力のうち左端と右端のそれぞれ連続3文字はラベルに影響を与えていません。一方、図3(b)は、置換開始位置を左へ1文字ずらした場合です。




(補足)入力データは12文字になっていますが、本当は長さ6の2つのDNAが、ラベルのDNA(相補配列)によって連接していること(ハイブリダイゼーション)を想定しています。

学習済みモデルの可視化
 上記のとおり、学習済みモデルが入力データに対して100%の正解率を出したということは、図1のデータにある「入力データ→ラベル」の対応規則を発見できたことを意味します。それを裏付けるデータが図4(a)にあります。横軸は入力データ(TCATGCTTATAA)、縦軸は正解である予測結果(ACGAAT)です。マス目の色の明るさは、入力文字が縦軸(予測結果)の文字へ反応している強さを示しています。この図から、以下のことが自動的に認識されたと言えます。

(a) 入力データの中央6文字に対して、置換(T⇔A, G⇔C)を行うと正解文字列(ラベル)が得られること。
(b) 入力データのうち、先頭と末尾の連続3文字は、予測に影響を与えていないこと。



    以下の図4(b)は、図3(b)のような入力データとラベルを学習させた場合です。ハイブリダイゼーションの位置が左に1文字ずれた影響が確認できます。


 今回の学習データを使った検討によって、改めて、Attention付きSeq2seqの可能性を知ることができました。