目次
13 関係: Apache License、バックプロパゲーション、ニューラルネットワーク、ホップフィールド・ネットワーク、ベイジアンネットワーク、クロスプラットフォーム、C++、C言語、隠れマルコフモデル、Java、OpenCL、機械学習、.NET Framework。
- フリー科学ソフトウェア
Apache License
Apache License(アパッチ・ライセンス)は、Apacheソフトウェア財団 (ASF) によるソフトウェア向けライセンス規定。1.1以前は、Apache Software License(ASL)と称していた。著作権表示と免責事項表示の保持を求めている。1.1以降のバージョンはOpen Source Initiativeがオープンソースライセンスと承認している。GNUプロジェクトは、1.1以前のバージョンをGPL非互換で非コピーレフトのフリーソフトウェアライセンス、バージョン2.0をGPLバージョン3互換(GPL2以前とは非互換)のフリーソフトウェアライセンスと判断している。 ASFやそのサブプロジェクトが作成するソフトウェアは、すべてApache Licenseで提供されている。ASF以外のソフトウェアでもApache Licenseを使っているものがある。2010年6月現在、SourceForge.netにある5000以上のASF以外のプロジェクトがApache Licenseでリリースされている。
バックプロパゲーション
バックプロパゲーション(Backpropagation)または誤差逆伝播法(ごさぎゃくでんぱほう)はニューラルネットワークの学習アルゴリズムである。
ニューラルネットワーク
(人工知能の分野で)ニューラルネットワーク(neural network; NN、神経網)は、生物の学習メカニズムを模倣した機械学習手法として広く知られているものでありCharu C.Aggarwal著『ニューラルネットワークとディープラーニング』(データサイエンス大系シリーズ)、学術図書出版社、2022年。ISBN 978-4780607147, 第一章「ニューラルネットワークとは」「はじめに」、pp.1-2、「ニューロン」と呼ばれる計算ユニットをもち、生物の神経系のメカニズムを模倣しているものである。人間の脳の神経網を模した数理モデル『2020年版 基本情報技術者 標準教科書』オーム社、p.55。模倣対象となった生物のニューラルネットワーク(神経網)とはっきり区別する場合は、人工ニューラルネットワーク (artificial neural network) と呼ばれる。
ホップフィールド・ネットワーク
ホップフィールド・ネットワーク (Hopfield network) は、ニューラルネットワークの一モデルである。 アメリカ合衆国の物理学者であるジョン・ホップフィールド (J.J. Hopfield) が提唱した。ユニット(ニューロン)間に対称的な相互作用がある非同期型ネットワークであり、自然な操作によってネットワークのエネルギーが極小値をとる。元はスピンの安定条件をもとめるモデルとして発想されたものであったが、ネットワークによる連想記憶のモデルとして歓迎され、ニューラルネットブームの火付け役の一つとなり、また後のボルツマンマシンの元ともなった。これは統計的な変動をもちいて、エネルギーが極小値ではなく最小値をとることを目指すモデルである。
ベイジアンネットワーク
ベイジアンネットワーク(Bayesian network)は、因果関係を確率により記述するグラフィカルモデルの1つで、複雑な因果関係の推論を有向非巡回グラフ構造により表すとともに、個々の変数の関係を条件つき確率で表す確率推論のモデルである。ネットワークとは重み付けグラフのこと。
クロスプラットフォーム
クロスプラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームmulti-platformがある。 また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。
C++
C++(シープラスプラス)は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている。
見る EncogとC++
C言語
C言語(シーげんご、C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。英語圏では「C language」または単に「C」と呼ばれることが多い。日本でも文書や文脈によっては同様に「C」と呼ぶことがある。制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。後発のC++やJava、C#など、「C系」と呼ばれる派生言語の始祖でもある。 ANSI、ISO、またJISにより言語仕様が標準規格化されている。
見る EncogとC言語
隠れマルコフモデル
隠れマルコフモデル(かくれマルコフモデル、hidden Markov model; HMM)は、確率モデルのひとつであり、観測されない(隠れた)状態をもつマルコフ過程である。
Java
Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。 プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガベージコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。
見る EncogとJava
OpenCL
OpenCL(オープンシーエル、)は、マルチコアCPUやGPU、Cellプロセッサ、DSPなどによる異種混在の計算資源(ヘテロジニアス環境、ヘテロジニアス・コンピューティング、)を利用した並列コンピューティングのためのクロスプラットフォームなAPIである。主な用途は科学技術計算や画像処理に代表される高性能計算のためのアプリケーションソフトウェアの高速化(ハードウェアアクセラレーション)であり、シミュレーション可視化に用いるリアルタイム3次元コンピュータグラフィックスAPIとの連携も拡張機能として標準化されている。スーパーコンピュータやサーバ、ワークステーションやパーソナルコンピュータのほか、携帯機器などでの利用も想定されており、組み込みシステム向けに必要条件を下げたOpenCL Embedded Profileが存在する。
見る EncogとOpenCL
機械学習
機械学習(きかいがくしゅう、)とは、経験からの学習により自動で改善するコンピューターアルゴリズムもしくはその研究領域で、人工知能の一種であるとみなされている。 典型的には「訓練データ」もしくは「学習データ」と呼ばれるデータを使って学習し、学習結果を使って何らかのタスクをこなすものとされる。例えば過去のスパムメールを訓練データとして用いて学習し、スパムフィルタリングというタスクをこなす、といったものである。
見る Encogと機械学習
.NET Framework
Microsoft.NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発していたアプリケーション開発・実行環境である。バージョン4.8をもって.NET Frameworkのメジャーアップデートは終了し、セキュリティとバグ修正のための更新は継続されるが、以降の新規開発における推奨環境は.NETとなった。 Windowsアプリケーションだけでなく、XML WebサービスやウェブアプリケーションなどWebベースのアプリケーションなども包括した環境となっている。一般に.NETという場合、.NET全体の環境を指す。現在はOSS版の.NET CoreやMonoも包括した技術仕様の総称を.NETと呼び、プロプライエタリの初期から存在する従来のWindows専用実装のみを.NET Frameworkと呼んで区別している。
参考情報
フリー科学ソフトウェア
- ΜFluids@Home
- Armadillo (線形代数ライブラリ)
- Berkeley Open Infrastructure for Network Computing
- CP2K
- Caffe
- Deeplearning4j
- Docking@Home
- Einstein@home
- Electron Gamma Shower
- Encog
- Fluentd
- FreeFem++
- GPUGRID
- Geant4
- Gensim
- ImageJ
- LAMMPS
- LHC@home
- Malaria Control Project
- Marble (ソフトウェア)
- MilkyWay@home
- NumPy
- OpenFOAM
- Orange (ソフトウェア)
- Orbit@home
- PrimeGrid
- PyTorch
- Quake-Catcher Network
- Quantum ESPRESSO
- ROOT
- Rosetta@home
- SETI@home
- SIMAP
- SciPy
- SpaCy
- Spyder (ソフトウェア)
- Visualization Toolkit
- Weka
- Word2vec
- World Community Grid
- XDrawChem

