みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

機械学習

機械学習の用語と英単語

自分用メモです. autoencoding autoregressive batch normalization broadcasting causal computational graph convolution convolutional criterion derivative dropout embedding finetune gradient gradient descent method large language models (LLM)…

Ray Tune でハイパーパラメータを自動調整する

Ray は Apache-2.0 license *1 で公開されている, AI 関連や Python の処理を簡単に並列化して大規模に実行可能にするフレームワークです*2.この中に Ray Tune というライブラリがあります. Ray Tune: Hyperparameter Tuning Ray Tune: Hyperparameter Tu…

Transformer のモデルのまとめ

もともとの論文には,Transformer は encoder と decoder を含む構造として記載されています. *1 もう少しわかりやすい図があったので紹介します. *2 Encoder / Decoder 実際には encoder と decoder はどちらかがあればモデルとして成立するので, encode…

機械学習における訓練・検証・試験データの分割

機械学習では,たくさんのデータを利用してモデルを学習させる手法なので,データを統計学的に適切に扱う必要があります. 機械学習では,モデルの訓練と評価に同じデータセットを使用してはいけないという原則があります.モデルは単純にデータセットを丸暗…

2023年現在の機械学習フレームワークの選択

TensorFlow, PyTorch が有名ですが,最近は JAX をよく見かけるようになりました. 論文で使用されているフレームワークのシェアを確認すると,PyTorchが圧勝です.TensorFlowが使われる頻度はかなり減っているようです.JAXやMindSporeは徐々に増えているよ…

機械学習のライブラリの検討 2022年

機械学習のライブラリは,以下が有名です. TensorFlow Keras PyTorch なお,KerasはTensorFlow 2に同包されているので,実質TensorFlow と PyTorch の対決です. Google Trends TensorFlowのほうが先に公開されており,2020年までは人気でしたが,2021年頃…

機械学習に必要なデータ数の検討

前回の記事でRNNのモデルを用いて加算と減算を学習しましたが,最低限必要なデータ数はどれぐらいなのか検討してみました. 教師データは24896個ありましたので,全部使用(1),1/2を使用(2),1/5を使用(5),1/10を使用(10),1/20を使用(20),1/50を使用(50)…

RNNで加算と減算を機械学習する

前回の記事では,データは固定長という制限がありました.可変長データを扱えるように,Embedding Layerを用いたRecurrent neural network (RNN)で学習してみます. 可変長データの扱い RNNなので,可変長の入力を扱えますが,学習するためには1個のTensorに…

加算と減算をEmbeddingで機械学習する

word2vecが流行っており,可視化されたデータも公開されています. http://projector.tensorflow.org/ 例えば"town"の近傍を検索すると,以下のような結果となりました. word distance village 0.355 city 0.366 towns 0.411 province 0.486 county 0.488 n…

train_test_split()はデフォルトでシャッフルされる

教師データを,訓練データと検証データに分ける関数sklearn.model_selection.train_test_split()が便利そうだったので使ってみました. sklearn.model_selection.train_test_split — scikit-learn 1.1.1 documentation この関数の引数にshuffleがありますが…

TensorFlowをCPUとGPUで比較する

TensorFlowを安価でなるべく速く実行するにはどのような環境がよいのかを自分なりに検討してみました. 測定方法 以下のスクリプトを実行して,速度を比較します.環境変数CUDA_VISIBLE_DEVICESでGPUの利用するかを指定します.環境変数TF_ENABLE_ONEDNN_OPT…

chainerでAuto Encoderの作成と学習

chainerでAuto Encoder(自己符号化器)を作成し,MNISTの手書き文字を学習させてみた. Auto Encoderは,目標出力を伴わない,入力だけの訓練データを使った教師なし学習により,データをよく表す特徴を獲得し,ひいてはデータのよい表現方法を得ることを目標…

chainerで回帰順伝播型ニューラルネットワーク

この記事と同じ題材を扱った,より新しい記事を作成しました. PyTorch で LSTMCell を使ってみる - みーのぺーじ 最近ホットな話題であるdeep learningをやってみようと思って,まずはchainerで回帰の順伝播型ニューラルネットワークを作成し,sin関数を学…