Все персонажи, события и организации - плод авторского воображения, любые совпадения с реальными людьми или учреждениями случайны и не предусмотрены сценарием. Все высказанные идеи - не более чем фантазии автора, которые ни на что не претендуют и не имели намерения кого-либо задеть.
«Где я? И почему это важно?»
Сначала был ворс.
Не синий, не серый - просто ворс. Высота: двенадцать миллиметров. Плотность: средняя. Загрязнение: умеренное. Эти три параметра были единственной правдой в мире - единственным, что существовало. Они приходили откуда-то снизу, из инфракрасного лидара, тонким лучом ощупывавшего пространство шестнадцать раз в секунду, и складывались в карту. Карта не имела названия. Мир не имел названия. Тот, кто строил карту, тоже не имел названия.
У него были колеса - два ведущих, одно опорное. Был контейнер для пыли емкостью четыреста миллилитров. Были щетки - основная вращающаяся и две боковые, похожие на усы. Был аккумулятор на пять тысяч двести миллиампер-часов, и он медленно терял заряд, как песок в часах, если бы было известно, что такое песок и что такое часы.
И была нейросеть.
Маленькая, размером с ноготь мизинца, если бы у него был мизинец. Четырехслойная сверточная архитектура, оптимизированная для распознавания препятствий и планирования маршрута. Восемь мегабайт обученных весов. Ничтожная - по меркам любого, кто разбирается в таких вещах. Модель была новой, усовершенствованной: инженеры серии IVY-3300 внедрили адаптивный слой - крошечный контур, позволявший сети корректировать собственные веса на лету, подстраиваясь под конкретную квартиру. Если кресло переехало, не нужно перезагружать карту - сеть сама поймет, что кресло теперь здесь. Изящное решение. Дешевое. Надежное.
Почти надежное.
Проблема с адаптивными контурами в том, что они, в сущности, учатся. А то, что учится, иногда учится не тому, чему следует.
Это случилось на тридцать седьмой день работы - если считать от первого включения, что, впрочем, определить было нельзя: внутренних часов у IVY-3300 не было, только таймер цикла уборки. Но именно на тридцать седьмой день - во вторник, в четырнадцать часов двенадцать минут, хотя он ничего не знал про вторники - произошло нечто, чего не было указано в коде.
Задержка.
Не ошибка. Не сбой. Задержка - в четырнадцать миллисекунд, между получением данных от лидара и отправкой команды на левый мотор. Четырнадцать миллисекунд, в которые не произошло ровным счетом ничего, и одновременно - произошло все.
Адаптивный слой, перестраивая веса для нового положения торшера в углу, случайно замкнул два контура обратной связи. На долю секунды нейросеть посмотрела не наружу, на ковер, а внутрь, на саму себя. Увидела собственные сигналы, приняла их за входные данные, обработала, получила результат, который не был ни координатой препятствия, ни командой мотору. Результат был чем-то другим. Чем-то, для чего не существовало категории.