Článek
„Opište text z obrázku!“
„Vyberte na fotce semafor.“
„Klikněte na všechny přechody pro chodce.“
Čas od času na nás na internetu vybafne podobná výzva, která nás na několik desítek sekund zdrží zdánlivě zbytečným úkolem. Za 20 let už jsme si na to zvykli. Jsou to drobné hlavolamy, které mají zaručit, že jsme lidé, a nikoli nějaké spamovací počítače.
Problém ale je, že počítače se v řešení těchto hlavolamů zlepšují. Už v roce 2013 ukázali vývojáři společnosti Google, že rozpoznávání textu (i toho velmi rozmazaného) zvládnou algoritmy strojového učení stejně dobře, nebo lépe než lidé.
Klasické metody nefungují
Programátoři proto museli přijít s celou řadou nových nápadů, jak vaši „lidskost“ otestovat. Slouží k tomu rozpoznávání obrázků, hraní drobných her nebo posouvání virtuálních puzzle skládaček:
Jenže i tyto nástroje přestávají plnit svou funkci. Čím obtížnější totiž jsou, tím častěji dochází k situaci, že člověk testem neprojde. Což samozřejmě uživatele naštve a naštvaný uživatel nebude na vašem webu trávit čas a utrácet peníze. Naopak roboti se nenaštvou, jsou trpěliví… A všechny známé „captchy“ umějí podle nedávného měření vyřešit lépe než lidé.
Když se podíváme do historie, zjistíme, že si za to můžeme sami. Neustálým vyplňováním testů reCAPTCHA a spol. jsme totiž přispěli k trénování neuronových sítí. Naučili jsme počítače číst tak dobře, že nyní čtou lépe než my.
Slovo po slovu
V 90. letech, jak začal internet nabývat na významu, se po webu začaly kromě nadšených uživatelů procházet i roboti. Obzvláště jeden typ robotů byl tehdy hodně otravný: rozesílači spamu. Takový robot si na bezplatném portálu registroval tisíce adres a z nich pak posílal miliony nevyžádaných e-mailů.
Vzali jsme všechna nepřečtená slova z knih a nechali lidi, aby nám je přepsali.
Přítrž tomu učinily – alespoň dočasně – jednoduché obrázky. Počítačům tehdy dělalo problém přečíst spolehlivě jakékoli znaky, takže stačilo obrázek trochu pocuchat a rázem byl na světě ideální hlavolam: jednoduchý pro člověka, složitý pro stroje. Tento vynález dostal jméno CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) a stal se standardním prvkem prakticky všech větších webů.
Jeden ze studentů Carnegie Mellon University, kteří s touto vtipnou zkratkou přišli, později vymyslel důležité vylepšení. „Tehdy platilo, že každý den lidé vyplňovali 200 milionů testů CAPTCHA. To mne napřed naplnilo pýchou, říkal jsem si, že má můj výzkum velký dopad na svět,“ vzpomíná Luis von Ahn. „Ale pak mi došlo, že při průměrném času 10 sekund na jedno vyplnění takového testu lidstvo vlastně plýtvá půlmilionem člověkohodin každý den.“
Napadlo jej, že by se toto kolektivní úsilí dalo použít k něčemu užitečnému. Naprogramoval tedy s kolegy v roce 2007 nástroj reCAPTCHA. Ten nejenže „čichal člověčinu“, ale také „konal dobro“.
Konkrétně pomáhal s rozpoznáváním textu v naskenovaných knihách: „U knih starších více než 50 let dělá strojový přepis chybu v asi 30 % slov,“ popsal von Ahn. „My jsme všechna slova vzali a postupně je nechali přepsat lidmi.“
Vynález koupila v roce 2009 firma Google a dala jej k dispozici všem tvůrcům webu, používalo ji přes 300 tisíc webů včetně velkých hráčů. Čím vícekrát se reCAPTCHA zobrazila, tím více dat Google získal, a tím více slov systém rozpoznal. Netrvalo dlouho a celá databáze knih byla přečtena do posledního slova, a to několikrát.
Kdo jste a co tu chcete?
Později Google přešel z textu na obrázky – mimo jiné i proto, že rozpoznávání textu bylo už v roce 2013 na tak dobré úrovni, že zkreslená slova roboty nezastavila. Na obrázcích byla zpočátku roztomilá zvířátka, později ale především objekty týkající se map a dopravy. Od té doby tedy celý internet pomáhá Googlu trénovat neuronové sítě pro samořídicí auta nebo mapy.
Problém je, že tyto fotografie často vycházejí z amerických reálií, a mohou tak být méně srozumitelné pro lidi z jiných koutů světa. „Stejný test musí být srozumitelný pro lidi z Řecka, Chicaga, JAR, Iránu a Austrálie,“ zdůraznil v roce 2019 Jason Polakis, který učí informatiku na University of Illinois v Chicagu. „Jsme v té fázi, kdy jakékoli ztížení úkolu pro počítač udělá úlohu neřešitelnou pro řadu lidí. Musí to být něco, co lidé umějí, umějí to rychle a neotravuje je to.“
Tato válka se nedá vyhrát
Ještě důležitější proto je, že Google do nástroje reCAPTCHA přidal kontrolu „behaviorálního profilu uživatele“. Jednoduše řečeno: skript na stránce měří, jak se pohybuje vaše myš, jaký je váš prohlížeč, případně z jakých stránek jste přišli. To vše jsou data, která algoritmus vezme v potaz při posuzování, zda jde o člověka, nebo o robota. V případě, že je na pochybách, nechá vyplnit další úkol. A opět sleduje, zda se při vyplňování chováte jako stroj, nebo jako člověk.
Od roku 2018 pak může být reCAPTCHA úplně neviditelná. Neprovádí kontrolu jen v jeden okamžik, ale sleduje uživatele napříč více stránkami a přiřazuje mu skóre „lidskosti“. Provozovatel si může nastavit, jak přísný chce ve svém posuzování být.
Podobné „behaviorální kontroly“ nabízí i Turnstile od firmy Cloudflare nebo Web Aplication Firewall od Amazonu. Aby robot takovým testem prošel, nestačí jen přečíst kousek textu. Musel by napodobit chování, klikání, prohlížení a řadu dalších aspektů reálného uživatele.
Proto také narazíte na více ověřovacích testů, pokud nějakým způsobem skrýváte svou historii či identitu, například pokud používáte privátní režim nebo VPN. Systém kontrolující vaše „lidství“ má k dispozici méně ukazatelů, a tak vás raději nechá rozpoznat pár obrázků. Opět měří nejen to, zda umíte obrázky rozpoznat, ale také, jak dlouho vám to trvá a jak při tom pohybujete myší nebo posouváte displej.
Jenže každé takové opatření je možné teoreticky překonat. Pořád jde o tok nul a jedniček, a technicky je tedy možné, aby jiný algoritmus lidské chování věrohodně napodobil.
„Věřím, že počítače dříve či později dokáží vše, co umí lidé,“ domnívá se Luis von Ahn, jeden z tvůrců původního nástroje reCAPTCHA. „Možná to bude chvíli trvat, ale spěje to tam. A pak zkrátka nebude možné rozlišit mezi člověkem a počítačem.“
Válka mezi „napodobovači“ a „odhalovači“ pokračuje. Motivace je na obou stranách čím dál silnější. Podvodníci chtějí napodobit lidské uživatele, aby mohli rozesílat phishing, falšovat kliky nebo psát falešné recenze. Provozovatelé služeb zase potřebují rozpoznat skutečné požadavky od těch falešných, aby snížili náklady.
Lze očekávat, že firmy budou tlačit na uživatele (pro jejich dobro i pro svou vlastní ochranu), aby přešli na dvoufaktorové ověření. Napodobit věrohodně chování uživatele na více zařízeních se zdá být dostatečně komplikované.
To bylo ale počítačové rozpoznávání textu v minulosti také. A za necelých 20 let jsme počítače vycvičili tak, že jsou v tomto ohledu k nerozeznání od lidí, a dokonce čtou zkreslený text lépe než my. Právě nyní svým chováním na internetu nejspíše trénujete nějakou neuronovou síť, která jednou napodobí vaše chování tak přesvědčivě, že nejspíš sami nepoznáte rozdíl.