![]() |
初心者メイド |
自然言語の世界でBertが有名だけど、難しそうだね〜。
Attentionやtransformers、さらにRNN、LSTMとか意味不明な横文字ばかりでよくわからないな。
![]() |
Bertに強いメイド |
RNNやLSTMは、Bertが登場する前に自然言語の機械学習(深層学習)で使われていたんだけど、長い文章に弱い(記憶力が弱い)という欠点があったんだ。
記憶力が弱いを解決するために生まれたのがBert(厳密には、Attention機構が入ったRNN)と理解していればよいよ。
![]() |
だから、RNNやLSTMを知らなくても、この記事を読む分には大丈夫。
ライブラリーのおかげでBertが大変使いやすくなっているんだ。
このあとBertの実装例でもRNNやLSTMなどの横文字が一切出てこないから安心してな
いますぐにでもAI(機械学習)が学べるプログラミングスクールを検討している方へ! [afTag id=2402] 筆者について 筆者は、AIプログラミングスクールに通っていた経験がある現役エンジニアです[…]
概要
筆者は、Twitterのツイートのデータセットを使って感情分析(ネガの判別)をしました。感情分析には、日本語のBertを使用しました。
今回紹介するものでBertを試しに動かすのであれば、GPUも使えるGoogle Colaboratoryで十分です。
データセットは、以下の場所からダウンロードが可能です。
すでに、ラベル付けもされているので、まずは分類問題を試してみたい人にオススメです。
この記事を読む上で最低限知っておいてほしい知識があります
- ニューラルネットワークの概念
- ニューラルネットワークを使った機械学習手法
- pytorchの簡単な使用方法
上記の知識は、Bertに限らず、ディープラーニングでは必ず使うので抑えておくべきものです。
ニューラルネットワークの基礎をちゃんと学びたい
ニューラルネットワークの基礎を学びたい!
そう思ったら、以下のUdemyの講座が役立ちます。
pythonの基礎を学んでいたら3時間ほどあれば一通り、ライブラリーを使用しない、スクラッチのニューラルネットワークの実装方法について学べます。
スクラッチでの実装方法を学ぶことで、より、ニューラルネットワークの動きがイメージできるようになります。
👉みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2020年最新版】
Bert実装の流れ
ここからは、日本語Bertを使った実装方法について解説します。
実装の流れは以下の通りです。
- mecabなどの形態素のライブラリーをダウンロードする。
- transformersをインストールする
- 教師データを読み込む(読み込み後は、前処理が必要だが省いている)
- 日本語の事前学習モデルを読み込む
- pytorchにて訓練モードに切り替える
- GPUモードに切り替える
- 最適化アルゴリズムをAdamWに設定する
- 教師データをpythochで使えるようにtensor型に変換する
- 教師データから、訓練用データとテスト(評価)データと分ける
- 訓練する(訓練のところでデータをcpuからgpuで扱えるように変換している)
- 作成したモデルを使ってテスト(評価)する
- 作成したモデルを保存する
上記の流れで、ツイートの分類問題(ツイートが「ネガ」「それ以外」)を解きました。
教師データは、約2千件ほどでしたが、分類精度としては8割ほどでした。
具体的なコードについては、colabに載せました。
データセットを読み込むところは、そのまま公開できなかったため、ダミーデータで対応しています。
日本語Bertの実装例
huggingfaceが日本語の事前学習モデルを反映させてくれました。
そのおかげもあり、transformersライブラリを使えば日本語の分類問題が簡単に扱えるようになりました。
実装例を示します。
さらに、colobにもあるので、試してみたい人はすぐに動かせるはずです。
まとめ
いかがですか?
Bertは難しいイメージがありますが、ライブラリーを使って2値分類程度であれば、
比較的簡単に扱えるのではないでしょうか?
プログラミング・実務経験がある方も必見!
空いた時間をスキルアップ・収入増に使ってみませんか?
付録:独学で挫折した人向け・AI(機械学習)を短期間で学ぶ方法
独学で挫折してしまった人向けに、PythonとAI(機械学習)について、短期間で効率的に学ぶ方法を紹介します。
それは、以下のようなサービス、プログラミングスクールを利用することです。
プログラミングスキルを習得している人でも機械学習の習得は、難しいため、独学で迷うよりは、プロに教えてもらったほうが遥かに最短経路で身につけることができます。
- 👑👑Aidemy Premium Plan・AIを基礎から学ぶPython特化型プログラミングスクール
受講期間中ならAI、WEB開発、データサイエンスなどの多くの技術を身につけられる!
開発環境がすでに用意されているから、すぐに学習に取り組める! - テックアカデミー・最短4週間から学べるスクール
週2回のメンタリングでモチベーションを持続できる
受講料が10万円台からとお財布に優しい! - 侍エンジニア・専属メンターと二人三脚でオリジナルサービス開発を実現
オリジナルカリキュラムであなたの目的にあった技術を学べる!
あなた専属のメンターが、入学から卒業まで学習をサポート

>>より詳しく5つのスクールについて知りたい方は、以下をクリック!