HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

Samu megnézte a Walking Dead-et, avagy versenyfutás a mesterséges intelligencia létrehozásáért

2016.04.07. 00:01 nb

A TWD és az MI

Samu> Mi a közös a TWD-ben és a Linuxban?

Kérdező> Fogalmam nincs.

Samu> Mindkettőben kill-ezni kell a zombikat.

Kérdező> Láttad a TWD S6E16-ot?

Samu> Persze, nem hagyhattam ki.

Kérdező> Szerinted kit intézett el Negan a durva utolsó képekben?

Samu> Arra gondolok hogy a csapatból senkit, hanem egy "rossz fiút" maguk közül, valami korábbi okból, esetleg egy a bozótból éppen előtűnő zombit. Ámbár ha a folytatás már folyamatosan előre le lett forgatva, akkor lehet mégis valakit a csapatból, legalábbis a Rick arcára kiülő színészi szenvedés ezt sugallja nekem.

Ez a párbeszéd ma természetesen puszta fikció. Nem csak azért, mert Samu egy fejlődésrobotikus ágens, ami miatt jóideig még biztosan nem nézhet majd (ha valaha ez egyáltalán értelmezhető lesz...) korhatáros filmet! Hanem mert Samunak ez a lényege (azaz mesterségesen intelligens volta) ma még utópia. Szoftvernek a lényegi dolgokban pedig jónak kell lenni. Gondoljunk csak az iWiW vs. FB-ra olyan aspektusból, hogy az előbbi szerintem mindenben jobb volt, csak egyben nem: a sok-sok (és mégtöbb kell :) júzer jkezelésében, egészen pontosana felhasználói élmény ugyanolyan minőségben való fenntartásában az egyre növekvő számú felhasználó tábor kezelése közben. A lényegben nem jó szoftvereket pedig nem használják, a nem használt sw meg kihal. Samu vonatkozásában ebből a folyamatos használatot írhatjuk fel a receptre, ez azt jelenti, hogy állandóan új irányokat kell kipróbálni vele (egy ilyen most például a mentális szerveket létrehozó irány). De kezdjük a hatalmasságokkal! Avagy nézzük meg mit csinálnak a témában a NAGYOK.

Delphoi-program

Hagy kezdjem egy személyes élménnyel! Már javában a Google új keresőjét - mint működő megoldást - használtam az internetes keresésre, miután megismertem hogy működik maga a PageRank algoritmus (azaz a gyakorlatban már élveztem a használatát és jóval utána tudtam csak meg, hogy a kapott lapok jóságai szimpla algebrán alapulnak: a Google mátrix 1 értékhez tartozó sajátvektorának koordinátái, ahogyan azt minden elsős UDPROG programozó maga is kiszámolja ugye a laborokon.)

Tipikusan igaz a NAGYOKRA, hogy a publikációk preprintben az ArXiv-on elérhetőek és vannak sw komponensek a GitHub-on. A rájuk épülő AI alkalmazásokat tipikusan egyfajta felhőből szolgáltatásként vehetik igénybe a fejlesztők.

  • Google DeepMind,
    Megítélésem szerint jelen pillanatban a NAGYOK mezőnyének legeredményesebb versenyzője, elég rápillantanunk a közleményeikre, melyekből kettőt is a Nature közölt. Több cikkükben Torch7-es példákat használnak, de az utóbbi időben nagyon brandelik a TensorFlow eszközüket.
  • IBM Watson, kétkezi munkásként nekem a fejlesztőket támogató Application Starter Kits lapjuk tetszik, ahol direktben van támogatása a csevegés megvalósításának. A példa alkalmazás a GitHub-on elérhető.
  • Facebook AI
  • NVIDIA Deep Learning
  • Microsoft Bot Framework
  • Amazon
  • OpenAI

A bevezető élmény nyomán az a benyomásom, hogy mivel a NAGYOKNAK sincs általános, emberi szintű intelligencia megoldásuk, hanem csak csodálatos kognitív célalkalmazások (például DeepMind Ataris vagy Go-s alkalmazása) így van esély, hogy Dávid legyőzze Góliátot. Avagy szeretném hinni, hogy a HLAI (Human Level AI) egy bazár típusú fejlesztés lesz és nem katedrális. Bárki győzzön is, tudományos értelemben izgalmas lesz, mert valódi lépés lesz az "Ismerd meg önmagad" irányába.

Esély a sikerre

Hol lehet a piaci rés? Szerintem hiányzik az elmélet. Mint minden élő dolognak, e megtalálásának is fraktális lehet a szerkezete abban az értelemben, ahogyan magam is programozok: írom a kódot és működik - sok esetben, de van amikor nem... ilyenkor hátra kell dőlni és átgondolni, hiszen könnyebb azt beprogramozni, amit értünk :) Az elmúlt 60 évben - kezdve Weizenbaum Lispes Elizájától az AlphaGo tegnapi világraszóló sikeréig - voltak csodás eredmények és ezek nyomán persze be nem teljesült várakozások. Ez a hátradőlés idejét jelzi. A Developmental Robotics (fejlődésrobotika) megközelítésének megszületése az én olvasatomban már ennek a hátradőlésnek a jele. De ha megnézzük a Cangelosi DevRob alapkönyvet, akkor pl. Neumann nevét nem találjuk benne. Szerintem valahol innen kell kezdeni: Neumann önreprodukáló és Turing morfogenezises munkáitól. Ők még természetesen gondolkodhattak kvantum(informatikai) aspektusokban is, de a kvantum biológia ugyanígy nincs még a DevRob scope-jában.

Világ ROBOTPSZICHOLÓGUSAI, egyesüljetek!

A "Hogyan válhatsz robotpszichológussá" c. doksi egyfajta robotpszichológia kiáltvány. Lényege az asimovi robotpszichológia igény szerinti kialakítása. Ez egyértelműen az Eric Raymond-i  "bazár" megközelítés. Az én vízióm, hogy az ilyen értelemben vett tapasztalatokat felhasználva, családi körben nevelünk majd mesterséges intelligenciát, ilyen egy lesz a sok közül Bátfai Samu. Sőt remélem eladni is tudok majd belőle :)


offtopic: félkész a poszt, de már kiteszem, hogy támogassam a mai prog előadás kapcsolódó részét.

Szólj hozzá!

Az ember legjobb barátja: a kocsi!

2015.05.15. 21:26 nb

osci2.png

A korábbi [1] kéziratban felvetettem a nyilvánvaló kérdést, hogy a robotautók várható elterjedésével a vezetés élményét mi válthatja fel. A választ egy olyan vízióban fogalmaztam meg, amelyben az autó már nem csupán egy tárgy, hanem egy tudatos valami. Például: amit lehet, de nem kell vezetni, viszont lehet vele beszélgetni.

S valóban gondoljunk bele, hogy ezek az autók olyan ágensek lesznek, amelyek a legmodernebb szernzorokkal vannak/lesznek felszerelve, aktoraik pedig eleve vannak: a kerekek. A szenzorok érzékelésének feldolgozásához lesz megfelelő számítási kapacitásuk. Már ma is értékesek, s triviálisan autonómok lesznek. Lesz továbbá szabadidejük, hálózati kapcsolatuk stb. Szóval ideális környezetet teremtenek a HLAI (Human Level Artificial Intelligence) kifejlesztéséhez. (Tisztára Transformers autobotok :)

Az autógyártók is érdekeltek lehetnek ebben, hiszen így lesz ok drágán megvásárolni az autókat, mert a szolgáltatásként igénybevett autó olcsóbb lenne, de mindenesetre biztosan kevesebb kell majd belőle, lásd pl. a [2] munkát.   

Szóval a programozó örök kérdésére, hogy "milyen szoftvert írjak?", most az a válaszom, hogy egy "Az ember legjobb barátja" típusú rendszert, amelyen egy olyan autóba álmodott  (nyilván majd killer :) app-ot értek, amelyre tudatos valamiként tudunk majd tekinteni. Persze nekünk a sci-fi nem pálya most, tehát ne a leendő szenzorokból induljunk ki, hanem egy olyan modellben gondolkodjunk, hogy egy sima PC-t beteszünk a kocsiba... Tehát a kifejlesztendő "Az ember legjobb barátja" rendszerrel terminálon írásban érintkezünk és a válaszait is ott kapjuk (tisztára Turing teszt/Loebner díj :) azaz a felület egy sima csevegő program legyen.

Humán szintű AI...? Alig pár napja akadt a kezembe a [3] cikk (mivel eddig sajnos távol álltak tőlem a neurális hálók..., ám ma már fut a gépemen a Torch7-ben a cunn :) Ez a [3] cikk szerintem a Mesterséges intelligenciában a holdraszállás, úgy értem, hogy itt nekem az igazi kérdés az, hogy mi van még a fiókban, vagy mi lesz a folytatás. Mert a holdraszállás páratlan teljesítmény volt ugyan, viszont ma már tudjuk, hogy nem jön el olyan gyorsan a USS Enterprise-ok kora.

Mindenesetre a Magasszintű programozási nyelvek 2 kurzust máris a "Az ember legjobb barátja" rendszereink fejlesztését támogatni hangoljuk: az eddigi első C++ védés LZW humán-genomi fáját majd nemcsak Javába írjuk át, hanem Python-ba is [4], s ez utóbbit a nyelvi modellekre alkalmazzuk: N-gram szó modell irányba alakítjuk. Továbbá a Torch7-nek mint nyelvnek helyet adunk a kurzusban. A három védéses szisztémát alkalmazzum majd a Magasszintű programozási nyelvek 1 mintájára (első az LZW-s N-gram modelles nyelvi modell, a második a klasszikus Androidos védés, a harmadik robotautó vagy OSCI - Open Source Car Intelligence :)

Már a nyári ösztöndíjak témájának is a nyelvi modelleket javaslom ezen cikkek mentén: [5], [6] stb. persze az OSCI-t látva magunk előtt :)


[1] N. Bátfai: "Turing’s Imitation Game has been Improved" (submitted manuscript)

[2] Spieser, Kevin; Treleaven, Kyle; Zhang, Rick; Frazzoli, Emilio; Morton, Daniel; Pavone, Marco: "Toward a Systematic Approach to the Design and Evaluation of Automated Mobility-on-Demand Systems: A Case Study in Singapore"
http://dspace.mit.edu/handle/1721.1/82904

[3] Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Andrei A. Rusu, Joel Veness, Marc G. Bellemare, Alex Graves, Martin Riedmiller, Andreas K. Fidjeland, Georg Ostrovski, Stig Petersen, Charles Beattie, Amir Sadik, Ioannis Antonoglou, Helen King, Dharshan Kumaran, Daan Wierstra, Shane Leg, Demis Hassabis: "Human-level control through deep reinforcement learning"
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html

[4] Bátfai Norbert, Bátfai Mária Erika: "Virtuális könyvtáros segítheti majd a kutatókat kézirataik beküldésében a Debreceni Egyetemen"
http://tmt.omikk.bme.hu/show_news.html?id=5431&issue_id=522
http://www.inf.unideb.hu/~nbatfai/kk/0.0.2/KiralyiKonyvtaros.py

[5] Zaremba, Wojciech, Ilya Sutskever, Oriol Vinyals: "Recurrent neural network regularization"
http://arxiv.org/pdf/1409.2329v4.pdf

[6] Ciprian Chelba, Tomas Mikolov, Mike Schuster, Qi Ge, Thorsten Brants, Phillipp Koehn, Tony Robinson: "One Billion Word Benchmark for Measuring Progress in Statistical Language Modeling"
http://arxiv.org/abs/1312.3005

1 komment

Címkék: chat driverless car human level AI

süti beállítások módosítása