Od Ada Lovelace k hlubokému učení

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 11 Smět 2024
Anonim
Od Ada Lovelace k hlubokému učení - Technologie
Od Ada Lovelace k hlubokému učení - Technologie

Obsah


Zdroj: A-papantoniou / Dreamstime.com

Odnést:

Programování prošlo dlouhou cestou - od zdlouhavých a časově náročných raných počítačů až po hluboké učení, kde počítače v podstatě programují samy sebe.

  • C 780–850 - Život Mohammeda ibn-Musa al-Khwarizmi, od jehož jména dostáváme slovo „algoritmus“ (stejně jako „algebra“)
  • 1786 - inženýr Hessian Army J. H. Müller publikuje referát popisující „Difference Engine“, ale nemohl získat finanční prostředky na pokračování
  • 1822 - Charles Babbage navrhuje takový stroj vyvinout a v roce 1823 získá financování od britské vlády. Poté, co vyvinul časnou verzi takového stroje, specifikoval mnohem ambicióznější projekt, „Analytický motor“, který není nikdy dokončen.
  • 1843 - Ada King, hraběnka z Lovelace, píše „první počítačový program“.
  • 1945 - John von Neumann autorem prvního návrhu článku obsahujícího první publikovaný popis logického návrhu počítače pomocí konceptu uloženého programu.
  • 1946 - První funkční elektronický počítač, ENIAC, je vyhlášen pro veřejnost.
  • 1948 - Experimentální počítač, Manchester Small-Scale Experimental Machine, úspěšně provozoval uložený program.
  • 1956 - John McCarthy pořádá první mezinárodní konferenci, která zdůrazňuje „umělou inteligenci“.
  • 1975 - byl představen první spotřebitelský mikropočítač, Altair 8800. Po přečtení počítače Bill Gates a Paul Allen vyvinuli Altair BASIC, aby umožnili Altairu provozovat uložené programy (to byl produkt, který spustil Microsoft - pak nazvaný „Micro-Soft“).
  • 1997 - Deep Blue IBM porazil mistra světa v šachu Garryho Kasparova 3½-2½.
  • 2011 - Watson IBM porazí Jeopardy! mistři.
  • 2016 - AlphaGo od společnosti Google porazí špičkového hráče Go Lee Se-dol 5-1.

Porozumění algoritmům

Algoritmus - „V matematice a informatice je algoritmus samostatný soubor operací, které mají být prováděny. Algoritmy provádějí výpočty, zpracování dat a / nebo automatizované uvažování.“ - Wikipedia


Neustále slyšíme výrazy jako „algoritmus“, „počítačový program“ a stále více „hluboké učení“. Přestože většina z nich rozumí počítačovým programům, ostatní pojmy jsou poněkud nepolapitelné. Obvykle není pro průměrného člověka příliš důležité porozumět technickým pojmům, ale znalost postupu od toho, co se nazývá „Adův algoritmus“, až po hluboké učení, má smysl ocenit náš nyní rychlý posun směrem ke skutečné „umělé inteligenci“.

Algoritmus, jednoduše řečeno, je pravidlem nebo metodou pro splnění úkolu. Bez ohledu na to, jak složité jsou počítače, nejedná se pouze o soubor kabeláže a fyzických součástí. Musí přijmout směr, aby splnili jakýkoli úkol nebo úkoly, které si majitelé zařízení přejí.

Pokud by měl být počítač použit k výpočtu mezd zaměstnanců, byl by způsob, jak to provést, obsažen v algoritmu mezd. Algoritmus by obsahoval řadu instrukcí nebo „programových kroků“ pro správné dokončení jeho zpracování. (Chcete-li se dozvědět o prvním použití počítače ke zpracování mezd, podívejte se na milníky v digitálním zpracování dat.)


Jedním z kroků může být výpočet hrubé mzdy zaměstnance; instrukce k tomu může být jednoduše: „Gross - Hours * Rate“ kde * znamená násobení.

Jedná se však o velmi jednoduché tvrzení, které by se mohlo použít pouze v případě, kdy by nikdo nemohl pracovat přesčas, jak je stanoveno státním zákonem. Pokud by bylo mnoho zaměstnanců, všichni „nepřetržitě“ v jurisdikci, kde hodiny nad 40 musely být kompenzovány 1/2 násobkem běžné sazby, mohla by instrukce vypadat takto:

“IF Hodiny jsou více než 40, THEN Regular Gross = Sazba * 40 a OTGross = (Hodiny - 40) * 1,5 (Sazba) ELSE Regular Gross = Sazba * Hodiny a OTGross = 0 Celkem Gross = Normální Gross + OTGross”

Tato řada pokynů musí být vypočtena pro každého zaměstnance, stejně jako v běžné firmě musí být stanoveno, zda je zaměstnanec zaměstnancem nebo zaměstnancem „nepřetržitě“, kolik daně (pokud existuje) musí být srážena federálnímu podniku vláda a stát a město (na základě počtu závislých osob a federálních a příslušných státních předpisů).

Žádné chyby, žádný stres - Váš průvodce krok za krokem k vytváření softwaru pro změnu života, aniž by došlo ke zničení vašeho života

Nemůžete zlepšit své programovací schopnosti, když se nikdo nestará o kvalitu softwaru.

Kromě toho by musely být vytvářeny zprávy (a případně kontroly). Celkově vzato se může něco, co bychom nyní mohli považovat za jednoduché, zdát velmi složité, když se dostaneme do podrobností - v pokynech nemohou být žádné chyby; musí být přesné a přesné. I drobné chyby mohou způsobit velké finanční ztráty, mechanické poruchy a / nebo ztráty na životech.

Ada na ENIAC

Ada King, hraběnka z Lovelace, a dcera slavného anglického lorda Byrona (George Gordon) se nazývá „první programátor“ - dokonce „první počítačový programátor“ - i když v roce 1843 nebylo pochopení programování - a rozhodně žádné počítače „V těchto termínech se na ni odkazuje jednoduše proto, že její psaní v notebooku o dosud nedokončeném analytickém enginu ukázalo pochopení konceptů, které by byly důležité o více než 100 let později (viz Algoritmus Ady: Jak Lord, James Essinger) Byronova dcera Ada Lovelace zahájila digitální věk „pro celý fascinující a poněkud tragický příběh). Ministerstvo obrany USA jako uznání svých příspěvků jmenovalo programovací jazyk vyvinutý v 70. letech 20. století, „Ada“. (Více informací o Adě viz Ada Lovelace, Enchantress of Numbers.)

V době, kdy byl vyvinut první fungující elektronický počítač, ENIAC, - během druhé světové války, ale dokončený až v roce 1946 - bylo dobře známo, že tento počítač nebyl Frankenstein Monster, který by mohl „myslet“ sám; to muselo být naprogramováno! Původní programování pro ENIAC bylo provedeno na papíře a důkladně zkontrolováno, zda není logické (tedy termín „kontrola stolu“), než se dotknete počítače. Jinak by to bylo nákladné - počítačový čas byl považován za velmi drahý a jeho plýtvání se mračilo. V případě ENIAC by také mohlo být velké plýtvání lidským úsilím, protože každá instrukce musela být zadána po jednom „házením“ mechanických spínačů, jak to mělo být prováděno.

Zatímco se vyvíjel ENIAC, známý matematik Jon von Neumann postuloval koncept „uloženého programu“. Program by byl napsán, testován, „odladěn“ (všechny nalezené a opravené chyby) a uložen na nějaké médium (vyraženo) karty, papírové pásky atd.). V případě potřeby by bylo načteno do počítače s daty, která mají být zpracována a použita (pomyslete na Microsoft Word, uloženo na pevném disku nebo dokonce „nyní v cloudu“) a do počítače je zavoláno pouze tehdy, když jste chtěli psát dopis nebo vytvořte poznámku).

Když se Altair 8800 poprvé objevil, 30 let po ENIAC, byl to rybařský stroj pro drotárství, dokud nedorazil Altair BASIC, a umožnil mu využívat uložené programy.

Více než 50 let po ENIACu byl pokrok v počítačové technologii nalezen ve výrobě větších, rychlejších a levnějších komponent, průlomů v komunikaci (jako je internet) a vylepšených programovacích jazyků (COBOL, Fortran, BASIC, Ada, C, Forth, APL, Logo, LISP, Pascal, Java atd.) A nástroje, které zefektivňují vývoj programu a snad i „neprůstřelnost“ (bez chyb).

Myšlení stroje

Zatímco tento hlavní proud počítačového pokroku pokračoval, číhající na vedlejší koleji byl sci-fi znějící sen o „umělé inteligenci“ (termín vytvořený Johnem McCarthym v polovině 50. let) - schopnost mít něco jiného než lidé projevují lidskou inteligenci, sen, který se vrací do mýtického Golema a Frankensteina Marie Shelleyové, sen, o kterém se zdálo, že je díky počítačové technologii mnohem možný.

Pojem „umělá inteligence“ nabývá na významu od té doby, co jej McCarthy vytvořil - robotika, expertní systémy, argumentace na základě případů atd., Ale žádný se nezdá být tak hluboký jako systém, který emuluje učení člověka.

Obchodní a vědecké systémy vyvinuté pro prvních 50 a více let elektronické výpočetní techniky byly založeny na systémech založených na pravidlech - „deduktivním zdůvodňování“, ve kterém dostáváme obecné zásady a poté je aplikujeme na jednotlivé případy (např. jako „JESTLIŽE PAK JINAK“Výše uvedený příklad). Stručně řečeno, postupujeme od abstraktního nebo obecného k jednotlivému nebo jednotlivému případu.

Lidé se však také poučují z obráceného - od konkrétního k souhrnu nebo pravidlu; to je induktivní zdůvodnění. Pokud vyjdeme z domu, když sněží, odbočíme doprava a sníh padá ze stromu na hlavu, dříve či později začneme otáčet doleva, když sněží. Stručně řečeno, učíme se a vytváříme pravidla založená na učení.

Pokud bychom považovali algoritmy generované člověkem za analogické deduktivnímu uvažování, tak indukční opak je tzv. Hluboké učení - můžeme si stanovit cíle, ale pak „vyhodit do systému“ tisíce nebo miliony souvisejících faktů nebo her nebo válečných scénářů a pak , více či méně, řekněte „zjistíte to.“

Stručně řečeno, počítač píše algoritmus - a dělá to tisíckrát rychleji, než by mohl člověk, na základě analýzy miliónů více souvisejících faktů než člověk. Ada by byla pyšná!