Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Lispマシン
シミュレータ
の紹介
2017/OCT/07
たけおか@AXE
@takeoka
2
竹岡って誰?1977年(高校2年生): MITのJames Slagleの書いたAIの教科書(日本語版)を読んで
「○×」を打つプログラムを8bitマイコンTK-80(8080,RAM 512Bytes)の機械語で書く
1980年代:UNI...
3
(株)アックスの基本ソフトの採用実績

axLinux組込みLinux

家電、デジタルTV

ネットワーク機器

携帯機器

ロボット(AIST)

航空自衛隊

スケジューラを強化

組込みBSD

ネットワーク機器
...
超並列計算機とAI
•
第二次AIブームの頃、
超並列計算機は、ニューラルネットのシミュレーションによく使われた
•
Connection Machine 1
•
1980年代末期から1990年代初頭に商業的に成功した超並列計算機
•
作った人...
5
AXEの人工知能エンジン「ごまめ」の
内部構造(概略)
•
AXEの人工知能
– 自然言語解析
– ルールベースの論理推論系AI
– 機械学習と推論系のハイブリッドAI
• 特許出願中
•
応用
– 人工無脳ちゃん 対話機能
– エキスパー...
AIの特許
●
機械学習を、論理推論 機構の中心に使う
●
推論の探索空間を小さくする
→ 推論が高速に
7
AXE 人工知能 対話•
AXEの人工知能
1.人工無脳ちゃん 対話機能
2.エキスパート・システム 機能
3.嗜好分析
いずれも、本当の推論システムが動作
•
推論システム: IBM Watsonと同様
•
日本語 解析を、かなり真面目に...
8
AXE提案) 機械学習と推論システムのハイブリッド
故障診断
装置
学習結果
機械学習による
判定器
推論規則
出力
複合事象から、近未来、 なにが起きる?
あるパターンの振動が
いくつか
検出された
推論システム
実世界
出力
近日に、
...
9
現在、AXE AI が行えることの例ーー推論システム/自然言語処理
•
メールを読んで、会議/デートのスケジュール予定を読み取る
•
過去スケジュールから、ユーザの周期性行動を検出
•
嗜好の分析 (メール、SNSログ、対話から)
– 自然...
自動運転ソフトウェア「Autoware」の開発&サポート提供
■
東大/名古屋大学 加藤真平先生のAutoware
– 日本で一番、自動運転の研究が進んでいる
– 名古屋 守山市で、公道を自動運転走行
– 自動車メーカなどもスポンサー
http...
Lispマシン
12
MIT系Lispマシン
●
MIT CONS, CADR
●
Symbolics, LMI Lambda
●
(TI ExplorerがMIT系か否かは知らない。スマン)
●
Lispのトップレベルで対話してなんでも行う
※symboli...
Lispマシン,高級言語マシン

Lispマシンは、OSもLispで記述

Smalltalkマシンも、環境はすべてSmalltalkで記述

ウインドウ・システムなどもその言語で書く

ファイル・システムをIOプロセッサにやらせている...
14
Symbolicsのキーボード
●
Control:左親指,DEL:左小指
●
‘(‘,’)’が、シフト無しで入力可能
●
憧れのMeta,Super,Hyper
りすぷ・しーんにゅある

Lispマシン・マニュアル一式も読め
る
http://www.bitsavers.org/pdf/mit/cadr/
しーんにゅある

和訳する気はない

Hackers’ dictionary も読もう

...
16
高級言語マシン
Symbolics 3600 Alto Mac初代
年代 1983 1973 1984
CPU bit slice
(マイクロ・プログラム)
@5MHz〜8MHz
bit slice
(マイクロ・プログラム)
0.3MIP...
Lispマシン
シミュレータ
Lispマシン
シミュレータ
●
Nano Pi Neo2で
動作している →
●
画面は、
他のLinuxマシンに飛ばしている
●
X Windowアプリケーションだから、
普通にできる
(NanoPiNeo2は、
ヘッドレス(表示器が無い))
Lispマシン・シミュレータ●
Usim
●
CADR Emulator
– 08/07/2006
– Brad Parker氏 (brad@heeltoe.com)
●
http://www.unlambda.com/index.php?n=...
Lispマシン・シミュレータ usim
●
x86Linux, Windows, Mac OS Xで動く
– 画面が縦長 768x1024 で、NotePCでは辛い
• プロジェクタにも映せない (^^;
●
オープン・ソース
●
Raspbe...
CADR ステータス・ラインがカッコいい
時々表示される、アンダーライン
– CPU,HDDアクセス,
ページ・スワップなど
を表しているらしい
時刻 ユーザ
マシン状態
RUN/
TYI(ユーザ・インプット)
この行には、マウス・ボタンででき...
CADR よく使うキー●
"Abort"(F4)
●
エラーでbreak levelに入ったら、abortして、top levelに戻る
●
Terminal(F1)+S
●
現在のプロセスをサスペンドして、切り替える
●
特に、元の地の対話部...
CADR,Lispマシン
●
数の基数のデフォールトが、8進数 \(^^;/
●
(+ 2 7) 11⇒ ; 表示が8進, 値は9(10進)
●
(format t "~D” … )大事www
●
*print-base* , *read-ba...
Lispマシン・シミュレータ usim
●
ホスト(Linux)で、C-Cを2度行うと、メモリ・イメージをダンプする
●
次回 起動は、そのイメージが使用できる
●
HDDイメージと、メモリ・イメージは関係が深いので、バラバ
ラな状態のものを使...
Usim ファンクション・キー●
esc Alt Mode
●
f1 Terminal
●
f2 System
●
f3 Network
●
f4 Abort ←breakレベルから出るの
に大事。
●
f5 Clear Input
●
f6 ...
Nano Pi Neo2●
¥2,400(税込)
●
ARM Cortex-A53(64bit)@1GHz×4core
●
CPU:Allwinner H5(クアッドコア Cortex-A53 )
●
メモリ:DDR3 512MB
●
かなり熱...
CADR or VLM
●
さすが、Zeta Lispだぜっ! (涙)
●
VLM=Symblics Open Genera が実行できる機械を試そうか…
●
Generaは、Common Lispになっている
●
私の持ってる Symboli...
Lispマシン文書
CADRのハードウェア・アーキテクチャ解説書
和訳
CADRのハードウェア・アーキテクチャ解説書
MIT AIメモ, AIM 528
http://www.bitsavers.org/pdf/mit/cadr/AIM-528_CADR.pdf
...
Lisp マシンのマクロ命令セットの説明
和訳
Lisp マシンのマクロ命令セットの説明
MIT のTom Knight氏の、
"The LISP Machine Macro-instruction Set."
http://www.mirro...
URL
CADRハードウェア和訳
http://www.takeoka.org/~take/ailabo/cadr/cadr-j.html
Lispマシン マクロ命令解説 和訳
http://www.takeoka.org/~take/aila...
おまけ
Lispマシン

Lispマシンのハードウェアについては

下記のスライドの、P.17〜P.21を参照
https://www.slideshare.net/takeoka1/lisp-lisp
以上
Prochain SlideShare
Chargement dans…5
×

Lispマシン・シミュレータの紹介

2 058 vues

Publié le

Intorduce some Lisp Machine Simulator

Publié dans : Ingénierie
  • Identifiez-vous pour voir les commentaires

Lispマシン・シミュレータの紹介

  1. 1. Lispマシン シミュレータ の紹介 2017/OCT/07 たけおか@AXE @takeoka
  2. 2. 2 竹岡って誰?1977年(高校2年生): MITのJames Slagleの書いたAIの教科書(日本語版)を読んで 「○×」を打つプログラムを8bitマイコンTK-80(8080,RAM 512Bytes)の機械語で書く 1980年代:UNIXのサーバクライアント方式の仮名漢字変換システムWnn、国産シンクライアン ト(X Window端末”XMiNT”)などの設計開発に携わる。TCP/IPスタックの独自実装。時相 論理型言語Temporal Prologの合理的な実装などを行う 1990年代初頭: 1024PE規模の超並列計算機”SM-1”(豊橋技科大 湯淺研,住友金属)のLSI ハードウェア、ソフトウェアの設計開発に携わる。Common Lispで開発ツール書いた。 1992年:(株)アックスを興し、マイクロカーネルXTALを設計。XTALはオリンパス社製デジタルカ メラ、シャープ ザウルスなどに使用された。アックスは、人工知能を開発&販売中 OSSコンソーシアム副会長, JASA技術本部長/理事,PCクラスタコンソーシアム理事,DEOS協会 事務局長/理事 超並列計算機SM-1 (1992年) シンクライアントXMiNT (1988年) オリンパス デジカメ (2000年) カラーザウルス(1996年)
  3. 3. 3 (株)アックスの基本ソフトの採用実績  axLinux組込みLinux  家電、デジタルTV  ネットワーク機器  携帯機器  ロボット(AIST)  航空自衛隊  スケジューラを強化  組込みBSD  ネットワーク機器  HPC  ExaOSの研究(AICS)  つくば次世代スパコン研究  独自RTOS  XTAL  ザウルス  オリンパスデジカメ  絹;Posix1003.13 RTOS  AUTOSAR  JasParへの参加
  4. 4. 超並列計算機とAI • 第二次AIブームの頃、 超並列計算機は、ニューラルネットのシミュレーションによく使われた • Connection Machine 1 • 1980年代末期から1990年代初頭に商業的に成功した超並列計算機 • 作った人は、Lisper • 演算器は1bit, PEのローカル・メモリは 1bit×1024ワード • 65536PE SIMD動作 • Lispマシンがフロントエンド (VAX版もあったが) • CM-5はPEをSPARCにした(なにそれ) Connection Machine 1豊橋技化大 湯淺研+住友金属SM-1
  5. 5. 5 AXEの人工知能エンジン「ごまめ」の 内部構造(概略) • AXEの人工知能 – 自然言語解析 – ルールベースの論理推論系AI – 機械学習と推論系のハイブリッドAI • 特許出願中 • 応用 – 人工無脳ちゃん 対話機能 – エキスパート・システム 機能 – 写真へのタグ付け • 小さなコンピュータで、快適に動作 スケジュール 中間ゴール 生成 パターン マッチング 処理により 規則を起動 ルール ベース 日本語解析部 (形態素解析 & 構文解析) 形態素解析 & 構文解析 辞書等 メール SNSログ アクション1 スケジュール登録 アクション2 アラート・メール 生成&送信 アクション3 個人情報収集 アクション4 学習 (記憶更新) 短期記憶 長期記憶 (RDB) 帰納 推論 エンジン 中間ゴール 生成用 ルール ベース 前処理 中間 ゴール 中間 ゴール 中間 ゴール センサ出力 機械学習 出力 写真 メタ情報
  6. 6. AIの特許 ● 機械学習を、論理推論 機構の中心に使う ● 推論の探索空間を小さくする → 推論が高速に
  7. 7. 7 AXE 人工知能 対話• AXEの人工知能 1.人工無脳ちゃん 対話機能 2.エキスパート・システム 機能 3.嗜好分析 いずれも、本当の推論システムが動作 • 推論システム: IBM Watsonと同様 • 日本語 解析を、かなり真面目に行っている→高精度 • 文中の単語による、文章のクラス分けができる • 小さなコンピュータで、快適に動作 • 組込みARMで、完全スタンドアロン動作 • 特許出願中 • デモ用 フロントエンドは、 – PC用チャット・クライアント – Androidスマホ・アプリ の2種を用意 チャットAIサーバ: オモチャ・ロボット 型 (中にRaspi3を内蔵) AI: 顔追尾 自律ロボット
  8. 8. 8 AXE提案) 機械学習と推論システムのハイブリッド 故障診断 装置 学習結果 機械学習による 判定器 推論規則 出力 複合事象から、近未来、 なにが起きる? あるパターンの振動が いくつか 検出された 推論システム 実世界 出力 近日に、 どこかが故障しそうな ことを、推論 推論システム: ・滅多に発生しない事柄を ルールで記述 ・複合事象から推論 振動センサ 入力 現象を「記号化」してから、推論を行う 記号にするのは、機械学習による認識 音響センサ 入力装置 学習結果 機械学習 出力 機械学習: 複合的な現象から、 近い将来なにが起きるか までは、判定しにくい。 滅多に起きない現象は、 学習データが入手できな い カメラカメラ対象物 入力 学習結果 機械学習 出力
  9. 9. 9 現在、AXE AI が行えることの例ーー推論システム/自然言語処理 • メールを読んで、会議/デートのスケジュール予定を読み取る • 過去スケジュールから、ユーザの周期性行動を検出 • 嗜好の分析 (メール、SNSログ、対話から) – 自然言語処理+推論 • エキスパート・システム – 顔占いなど • 人工知能チャット • 入力文をクラス分けして、応答 • 出前注文シーケンスを実現 • 写真へのタグ付け/つかみ出し – 過去スケジュール/メールなどから タグ付け – 自然言語による、つかみ出し ーーー 顔追跡ロボット 人間の顔を見つけたら、それを追跡する • 阪急電車 判定 • 機械学習+推論 • 阪急電車を見つけたら、鉄道に関するニュースを読み上げる • ● テキスト無脳ちゃん対話 movie https://www.youtube.com/watch?
  10. 10. 自動運転ソフトウェア「Autoware」の開発&サポート提供 ■ 東大/名古屋大学 加藤真平先生のAutoware – 日本で一番、自動運転の研究が進んでいる – 名古屋 守山市で、公道を自動運転走行 – 自動車メーカなどもスポンサー http://www.pdsl.jp/%E6%97%A5%E6%9C%AC%E8%AA%9E %E3%83%88%E3%83%83%E3%83%97/ http://news.mynavi.jp/series/coolchips18_auto_car/003/ AXEは、Autoware開発を、最初から手伝っている – 自動運転には、KnowHowが多くある • 研究発表されているのは、KnowHowではない ■ Autowareは、オープンソース・ソフトウェアとして無償配布されている ■ AXEは、Autowareサポートを、有償で提供 – Autowareを入手しても、即座に自動車を走らせることができるわけではない
  11. 11. Lispマシン
  12. 12. 12 MIT系Lispマシン ● MIT CONS, CADR ● Symbolics, LMI Lambda ● (TI ExplorerがMIT系か否かは知らない。スマン) ● Lispのトップレベルで対話してなんでも行う ※symbolics.comは世界最初の”.com” MIT CONS Symbolics 36x0
  13. 13. Lispマシン,高級言語マシン  Lispマシンは、OSもLispで記述  Smalltalkマシンも、環境はすべてSmalltalkで記述  ウインドウ・システムなどもその言語で書く  ファイル・システムをIOプロセッサにやらせている軟弱なシ ステムもあった
  14. 14. 14 Symbolicsのキーボード ● Control:左親指,DEL:左小指 ● ‘(‘,’)’が、シフト無しで入力可能 ● 憧れのMeta,Super,Hyper
  15. 15. りすぷ・しーんにゅある  Lispマシン・マニュアル一式も読め る http://www.bitsavers.org/pdf/mit/cadr/ しーんにゅある  和訳する気はない  Hackers’ dictionary も読もう  MIT Lispドキュメントを読むには 必須
  16. 16. 16 高級言語マシン Symbolics 3600 Alto Mac初代 年代 1983 1973 1984 CPU bit slice (マイクロ・プログラム) @5MHz〜8MHz bit slice (マイクロ・プログラム) 0.3MIPS 68000 @5MHz 0.3MIPS ROM (micro code) (micro code) 64KB RAM 〜2.3MB 128KB〜512KB 128KB 基本ワード長 36bit word 16bit word 16bit word
  17. 17. Lispマシン シミュレータ
  18. 18. Lispマシン シミュレータ ● Nano Pi Neo2で 動作している → ● 画面は、 他のLinuxマシンに飛ばしている ● X Windowアプリケーションだから、 普通にできる (NanoPiNeo2は、 ヘッドレス(表示器が無い))
  19. 19. Lispマシン・シミュレータ● Usim ● CADR Emulator – 08/07/2006 – Brad Parker氏 (brad@heeltoe.com) ● http://www.unlambda.com/index.php?n=Main.Cadr ● VLM – Symbolics Virtual Lisp Machine – DEC Alpha向けに Symbolics自身によって作られた – https://github.com/hanshuebner/vlm – http://www.cliki.net/VLM_on_Linux – https://loomcom.com/genera/genera-install.html ● Lambda Delta – LMI Lambdaのシミュレータ – https://github.com/dseagrav/ld ● Meroko – TI Explorer I (E1) Lisp machine emulator – http://www.unlambda.com/index.php?n=Main.Meroko – めろこ:「満月をさがして」(2002)の死神 – https://ja.wikipedia.org/wiki/%E6%BA%80%E6%9C%88%E3%82%92%E3%81%95%E3%81%8C %E3%81%97%E3%81%A6 TI Explorer I
  20. 20. Lispマシン・シミュレータ usim ● x86Linux, Windows, Mac OS Xで動く – 画面が縦長 768x1024 で、NotePCでは辛い • プロジェクタにも映せない (^^; ● オープン・ソース ● Raspberry Pi 1で動く – ARM-11@700MHz, メモリ:512MB ● Nano Pi Neo2で動く – ARM64@1GHz×4core, メモリ:512MB ● 49MBも使っていない
  21. 21. CADR ステータス・ラインがカッコいい 時々表示される、アンダーライン – CPU,HDDアクセス, ページ・スワップなど を表しているらしい 時刻 ユーザ マシン状態 RUN/ TYI(ユーザ・インプット) この行には、マウス・ボタンでできることなどが表示される ココ
  22. 22. CADR よく使うキー● "Abort"(F4) ● エラーでbreak levelに入ったら、abortして、top levelに戻る ● Terminal(F1)+S ● 現在のプロセスをサスペンドして、切り替える ● 特に、元の地の対話部分だけになって、エディタ窓が消えた時、 エディタ窓に戻りたい時、行う。地のプロセスがサスペンドになる。 --Zmacsキーバインド-- ● C-S-E – カーソルの直前のS式をエバる。結果は、エディタのステータス行に、表 示。そして、キー入力待ち。 ● C-S-C – カーソルがあるS式をコンパイル。 ● Metaキーは普通に使える
  23. 23. CADR,Lispマシン ● 数の基数のデフォールトが、8進数 \(^^;/ ● (+ 2 7) 11⇒ ; 表示が8進, 値は9(10進) ● (format t "~D” … )大事www ● *print-base* , *read-base* が無い \(^^;/ ● さすが、Zeta Lispだぜっ! (涙)
  24. 24. Lispマシン・シミュレータ usim ● ホスト(Linux)で、C-Cを2度行うと、メモリ・イメージをダンプする ● 次回 起動は、そのイメージが使用できる ● HDDイメージと、メモリ・イメージは関係が深いので、バラバ ラな状態のものを使用してはいけない ● マクロ命令の実行のトレースなどが取れる ● マイクロ命令の実行のトレースなどが取れる
  25. 25. Usim ファンクション・キー● esc Alt Mode ● f1 Terminal ● f2 System ● f3 Network ● f4 Abort ←breakレベルから出るの に大事。 ● f5 Clear Input ● f6 Help ←ちょいちょい役立つ ● f7 Page ● f8 ● f9 ● f10 ● f11 ● f12 ● pgup Break ● pgdn {appears to crash usim} ● home Call ● end End ● backspace rubout ● backspace Rub Out ● Terminal-M Toggle **MORE** processing. ● Terminal-0-M Disable **MORE** processing. ※keyboard.cfgで変更可能 私は、デフォールトでは、Hyperキー、Superキーがイマイチわからない (^^;
  26. 26. Nano Pi Neo2● ¥2,400(税込) ● ARM Cortex-A53(64bit)@1GHz×4core ● CPU:Allwinner H5(クアッドコア Cortex-A53 ) ● メモリ:DDR3 512MB ● かなり熱くなるので、放熱器は必須だろう ● ディスプレイ出力は無い ● シリアル・コンソールが基本 ● EtherNet:10/100/1000M ● USBホスト:TypeAx1、2.54mmピンヘッダx2 ● MicroSD:x1 ● シリアルポート:x2+(デバック用x1) ● I2S:x1 ● SPIO:x1 ● I2C:x1 ● PWM:x1 ● ラインアウト:x1 ● マイク入力:x1 ● GPIO:36ピン ● 基板サイズ:40x40mm ● 動作電源:5V2A http://akizukidenshi.com/catalog/g/gM-12302/
  27. 27. CADR or VLM ● さすが、Zeta Lispだぜっ! (涙) ● VLM=Symblics Open Genera が実行できる機械を試そうか… ● Generaは、Common Lispになっている ● 私の持ってる Symbolics 3600(実機)は、 Genera7で、Common Lispなんだよぅ
  28. 28. Lispマシン文書
  29. 29. CADRのハードウェア・アーキテクチャ解説書 和訳 CADRのハードウェア・アーキテクチャ解説書 MIT AIメモ, AIM 528 http://www.bitsavers.org/pdf/mit/cadr/AIM-528_CADR.pdf 私が和訳した http://www.takeoka.org/~take/ailabo/cadr/cadr-j.html LispとCPUハードウェアの機微を知りたい若者に さすがに、本当にちゃんと動いているだけのことはある (低レイヤな)若い人は読んだ方がいい
  30. 30. Lisp マシンのマクロ命令セットの説明 和訳 Lisp マシンのマクロ命令セットの説明 MIT のTom Knight氏の、 "The LISP Machine Macro-instruction Set." http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/mit /cadr/Knight-LISP_Machine_Macro_Instruction_Set- 1979.pdf 私が和訳した http://www.takeoka.org/~take/ailabo/cadr/knight-lispm- macroinst.html
  31. 31. URL CADRハードウェア和訳 http://www.takeoka.org/~take/ailabo/cadr/cadr-j.html Lispマシン マクロ命令解説 和訳 http://www.takeoka.org/~take/ailabo/cadr/knight-lispm- macroinst.html WAM論文 和訳 http://www.takeoka.org/~take/ailabo/prolog/wam/wam.html 実用Prolog入門(短い文書) http://www.takeoka.org/~take/ailabo/prolog/metakuta.html CRAY-XMP マニュアル 和訳 http://www.takeoka.org/~take/supercom/cray-xmp.html www.takeoka.org/~take/ www.axe.bz
  32. 32. おまけ
  33. 33. Lispマシン  Lispマシンのハードウェアについては  下記のスライドの、P.17〜P.21を参照 https://www.slideshare.net/takeoka1/lisp-lisp
  34. 34. 以上

×