DEM:よりアクセス可能な人工知能の創出


私は創造性の概念に魅了されていました.私はプログラミングの世界に入ったので、あなたの最初のHello Worldは何か不思議な感じがします.疑いもなく、私はその考えに魅了されて、家から類似した何かを作成しようとし始めました
2018年には、私はオープンモデルのような現代のNLPツールに似ていたJNFRと呼ばれるAIモデルを開始したが、もちろん、それは少ないパラメータを持っていた、それはいくつかの簡単な言語構造を学ぶことだった主な目標であり、その後、私は以前のものよりもはるかに大きい構造を持つリカレントAIモデル“Diabolus Ex MaChina”(不気味な、クールな名前)に取り組んだ.このプロジェクトでは、現代の言語モデルの成功したアーキテクチャを学ぶことができました、そして私はこの経験から多くのことを学びました、私は多くのパラメータと仕事を管理しなければなりませんでした、そして、私のモデルのうちの1つが新しい何かを学ぶたびに、私は私の建築を再考しなければなりませんでした.私はこの経験のおかげで多くのことを学んだが、私はまた、生のデータから新しいモデルを作成し、任意の種類のアーキテクチャでそれらを訓練することができるジェネラリストツール、ツールを持っている必要があることを学んだ.これは私がこれまで取り組んできたことの全ての基礎でした.私はこれまでのすべてのプロジェクトにおいて多くのことを学びましたが、これは最も重要なものであり、私は自分自身のツールを開発し、私が直面しなければならない問題を解決するための強力な基盤を確立するのを助けました.
それで、この新しいプロジェクトは何ですか、私は過去3ヵ月をしていました、そして、次に何が起こるでしょうか?

JNFRとは
プロジェクトはJNFRと呼ばれます.なぜ?私がそれを作成するために私を奮起させる人に対する賛辞名であるので、私はそれがメジャーバージョンアップグレードで「Diabolus Ex Machina」に名前を変えました
このプロジェクトの目標は、NLPモデルの作成を簡素化することです.シンプルなインターフェイスを使用してモデルを構築し、モデル化するために開発者が使用できるツールを提供したいと思います.

どうやって動くの?
ライブラリは、生のデータからモデルを作成するために使用することができますライブラリは、すべての重いリフティングを行います、それはデータを読み取り、トークンをトークン化し、トークンから語彙を構築し、それはあなたが提供するアーキテクチャを使用して生データからモデルを作成します.
これはDEMの私の最初のバージョンからのコードです.このコードはファイルを読み込み、それをトークン化し、与えられたアーキテクチャを使用してNLPモデルを作成します.
// Read the input data 
DataInputStream = new DataInputStream("path/to/the/input/data/file");
// Tokenize the data into sentences Tokenizer
tokenizer = new Tokenizer( in );
sentenceTokenizer = new StringTokenizer(tokenizer.getTokens(), " ", TAB_SEPARATOR);
// Create the vocabulary from the sentences Vocabulary 
vocabulary = new VocabularyBuilder(tokenizer, sentenceTokenizer).build();
// Create the model from the Tokenized data GraphBuilder 
graphBuilder = new GraphBuilder();
graphBuilder.addUnlabeled(vocabulary);
graphBuilder.add(new NN(1, 0, 0));
// Train the model with the provided Architecture 
GraphBuilder.Train train = graphBuilder.train(); // Optionally save the model to disk
FileModel.save(graphBuilder.getGraph());
これはDEMライブラリを使用してモデルを作成する方法です.
ニューラルネットワークとNLPモジュールはカプセル化されるgraphBuilder.add (new NN (... params))GraphBuilderは与えられたモデルを制御するためのより高次のオブジェクトであり、トークンを反復不可能で不変の浮動値に変換する​​新しいAIの変更には、EG token "word": .75240517ミニミニバイトサイズハッシュのようなもの

今のDEMは何ですか?
私はこの図書館の最後の3ヶ月間働いています、私は多くのドキュメンテーションを作成しました、そして、私は図書館の第1のバージョンに集中していました、私が世界にそれを発表する前に、私は安定版を持ちたいです、この図書館はオープンソースであり、私はそれを使っている多くの人々を持ちたいです、そして、私は私が誰からでも学ぶことができるコミュニティを持ちたいです、そして、私は皆から私に学ばせたいです.
私はこのライブラリを使用していくつかのテストモデルを作成して、最も重要なものは、曲を生成するために使用されている単純な言語モデルですが、私はしばらくの間、このモデルに取り組んできたと私はほとんどそれをやっている.
私はこの図書館のために多くのテストを作成しました、そして、私はそれのために素晴らしいウェブインターフェースに取り組んでいました、そして、現在、私は私がしたい最後のものに取り組んでいます、私はそれを世界に発表する前に安定した最初のバージョンを持ちたいです、そして、私はそれのために素晴らしいウェブインターフェースを持ちたいです、私はこのインターフェースで大いに働いていました、そして、私はそれで多くのものをつくることができました.私はすでに私のAPIをインターネットに公開しました、そして、私はリアルタイムでモデルをつくるためにそれを使用しました、私はモバイルアプリケーションで、それをウェブアプリケーションで使用しました、そして、私は私が書いているプログラムでそれを使いました.私はこのライブラリについて多くのドキュメントを書いてきました、そして、私は多くのテストを作成しました、私は多くのバグを解決しました、そして、私はいろいろな問題のためにこの図書館を使用しました、私が世界にそれを発表する前に、私は安定版を持ちたいです、そして、もう少し、私はそれについて新しいポストを作ります.

次に何が起こるか
私はこのプロジェクトを終了するつもりです、そして、私はそれをリリースするつもりです、私はいろいろなものをつくるためにそれを使用するつもりです、そして、私はそれについて多くの記事を作るつもりです、私はこの図書館について一連のポストを始めます、そして、私はそれをしたすべてを示すためにこのウェブサイトで新しいセクションを作成するつもりです.
このプロジェクトは私のためにたくさんの仕事をしてきました、私はたくさん学びました、そして、私はたくさんのことをしました、私はたくさんのテストを作成しました、私は多くのバグを解決しました、そして、私は多くの異なる問題のためにこの図書館を使いました.
あなたがすぐにこのライブラリを使用したいならば、あなたは私のGithubから、そして、多分NPMパッケージとしてそれをダウンロードすることができます
ステイ!