Posts Tagged ‘нейроимплантанты’

Нейроинтерфейс к GUI

Четверг, Апрель 1st, 2010

Введение

В случае развития человеческих нейроимплантантов, нейроинтерфейс к GUI может пригодиться и человеку, а на более ближнюю перспективу – ИИ.

Обоснование

Пусть ИНС требуется определить количество строк в окне с таблицей. Визуально определить границы полосы прокрутки, сравнить с размером окна и средним вертикальным размером одной строки – затратно. Эти ресурсы лучше отдать ИНС для более интеллектуальной работы. Получить одно число «количество строк» напрямую от объекта таблицы минимум в тысячу раз эффективнее (особенно, если анализ пикселей будет производить сама ИНС). А если такое повышение эффективности умножается на количество тысяч просматриваемых ячеек (а иначе – распознавание различных шрифтов и текста в каждой ячейке)… Ясно, что прямой нейроинтерфейс к существующему и будущему ПО крайне желателен.

Конечно же, можно адаптировать каждую программу, добавляя нейроинтерфейсы, отличающиеся в каждом случае. Но можно написать небольшое количество универсальных нейроинтерфейсов, которые будут работать с широким классом программ.

Win32 API

В операционной системе Windows, можно перебирать все окна в системе, вместе с дочерними окнами, используя функции наподобие FindWindowEx/FindNextWindow. Они возвращают HWND – «держатель окна». Используя HWND, можно получать заголовки окон, текст внутри кнопок, надписей, списков и выпадающих списков и т. д. Для исследования иерархической структуры окон с этой позиции можно использовать программу Microsoft Spy++, которая поставляется вместе с различными версиями Microsoft Visual Studio. Эта программа также позволяет отлавливать все оконные сообщения, с возможностью фильтровать их по типу, что может пригодиться для анализа того, как окна работают и как на них можно влиять. Используя функции Win32 API, окнам можно слать любые сообщения и получать имена оконных классов. Например, в случае, если внутреннее окно – внедренное окно Internet Explorer (что определяется по классу с именем «Internet Explorer_Server»), то можно задействовать специальный код, чтобы получить объект браузера и начать работать с ним через COM – в том числе, иметь прямой доступ ко всему html-содержимому в виде DOM, произвольно его изучать и менять (примеры подобного кода можно найти в Интернете). Внедрение окон Internet Explorer встречается довольно часто, в чем можно убедиться, используя все тот же Spy++. Например, его можно встретить внутри таких приложений:
* официальный клиент ICQ отображает сообщения в окне Internet Explorer, в том числе – в окне истории сообщений
* справка Windows
* окно с карточкой форм слова (но не перевода) в Abbyy Lingvo
* просмотрщик chm-файлов
* некоторые диалоговые окна в Microsoft Visual Studio, например, мастер создания нового класса
* Нейролаборатория когда-то использовала этот браузер очень широко – от таблиц нейронов до диалоговых окон редактирования точек останова (в VC++ есть специальный класс CDhtmlDialog для создания подобных окон)
* весь интерфейс старых версий Windows Media Player
* окно отображения фотографий в Google Earth
* встроенные браузеры, типа того, что находится в окне winamp

Внедрение в чужой процесс

Перебирать окна одного процесса можно и другого процесса (внешнего). Но если работать через COM-интерфейс с объектами во внешнем процессе, то придется использовать так называемый marshalling, для передачи интерфейса во внешнее приложение. Это утомительно по многим причинам – например, внешнему приложению нельзя передавать обычные двухбайтовые строки, их обязательно нужно передавать по всем правилам, через SysAllocString/SysFreeString. Кроме того, межпроцессное взаимодействие осуществляется медленнее, чем внутрипроцессное. Поэтому во многих случаях желательно, чтобы код нейроинтерфейса работал внутри исследуюемого приложения (хотя обработанные данные потом могут передаваться во внешний процесс с нейросетью). Особенно, внутрипроцессное взаимодействие пригодится для первичного анализа и сжатия изображений перед отправкой внешнему приложению – так как во многих случаях от анализа непосредственно изображений окон отказаться полностью не выйдет. Для внедрения своего кода в чужие приложения используется техника, известная как dll injecting. Обычно она используется всякими вирусами, но, если вы контролируете свой антивирус, то можете разрешить своему приложению выполнять такие подозрительные действия. Способов dll injecting довольно много, я применял загрузку по вызову CreateRemoteThread.

Сторонние библиотеки

Все чаще современное ПО строится на основе сторонних библиотек, которые эмулируют внутренние окна самостоятельно. В таких приложениях создается только одно окно верхнего уровня на основе HWND (иначе операционная система не позволяет), а все внутренние дочерние окна прорисовываются самой библиотекой. Например, программы, написанные на Java или Qt, используют именно такой подход, в то время как программы, написанные на Delphi, используют традиционный подход окон Windows (классы Delphi в приложениях легко определять по имени, которое начинается с префикса из большой буквы T).
Кстати, мысль перевести Нейролабораторию на Qt появилась после очередного запуска Spy++, когда стало видно, что Google Earth написана на Qt (я часто запускаю Spy++ для незнакомых программ чтобы увидеть, на чем они написаны).

Если научиться работать с фреймворками типа Java/Qt, то дополнительно возникнет возможность работать и с окнами в операционных системах, отличных от Windows. К счастью, и Java, и Qt содержат довольно много метаинформации о внутренних объектах. При условии получения доступа к главному оконному объекту внутри приложения, можно перебирать все окна и многие другие объекты, подписываться на любые события и т. п. Как получить доступ к такому объекту? Наверное, можно такой доступ получить и «силой», вмешиваясь извне, наподобие dll injecting. Я такие способы в контексте qt/java пока не исследовал. В случае Qt, может потребоваться учитывать бинарную несовместимость различных компиляторов и изменение реализации системы метаинформации Qt в разных версиях Qt. В то время как байт-код java стандартизирован.

Общая схема работы следующая. Код исследует целевую программу и выбирает наиболее удобные интерфейс. В лучшем случае – код программы модифицирован заранее для удобства взаимодействия с нейросетью, в худшем – используется анализ изображений.

Java и не только

Чтобы обходить защиту модулей java, на подконтрольной системе можно поставить свою, измененную реализацию виртуальной машины – благо, их исходники доступны. Тогда появляется возможность вмешиваться в работу любых java-приложений без их персональной модификации. Это тем более перспективно, что в последнее время наметилась тенденция к переводу многих виртуальных машин других языков программирования на использование байт-кода java (http://ko.com.ua/node/47487 «Планетная система Java»).
Но на java и qt написано очень много ПО с открытым исходным кодом. Для начала, в большинстве случаев, будет достаточно умения работать только с открытым ПО.

Qt

Для Qt есть библиотека с графическим интерфейсом «Conan for Qt» ( http://sourceforge.net/projects/conanforqt/ ). Она позволяет получить представление о широчайших возможностях системы метаинформации Qt (хотя и меньших, чем в java). Сценарий работы для Qt следующий. Берутся исходники некоторой программы, к ним подключается своя библиотека с нейроинтерфейсом, и как правило модифицируется только одна строка – добавляется регистрация главного окна у нейроинтерфейса. Нейроинтерфейс перебирает окна, просматривает иерархию наследования. Например, некоторый класс наследуется от класса окна таблицы, а нейроинтерфейс умеет работать с такими окнами. Тогда он производит приведение типа указателя к известному типу, и получает широчайшие возможности. Например, получить объект «модель данных таблицы», и работать с ней напрямую – без перерисовки экрана. К любой такой таблице можно сразу присоединять систему поиска, аналогичную поиску текста в браузере, даже если исходная программа поиск не поддерживает – нейроинтерфейс будет перебирать по очереди все клетки с поиском нужного текста.

Про работу с файловой системой

Имея нейроинтерфейс к файловой системе на основе Qt или Java, автоматически обеспечивается кроссплатформенная работа с ФС.

Про работу с Html

Если требуется работа с реальными сайтами, то желательно применять насотящие браузеры, а не анализаторы html типа библиотеки libxml2, так как браузеры позволяют исполнять javascript и т. п. Для ускорения работы можно поступить, как поступили в google при автоматическом тестировании google chrome на правильность отображения веб-страниц: браузер отображал страницы не на экран, а в память.

Нейротехнологии в фильмах – «Farscape» (Scorpius)

Понедельник, Август 31st, 2009

Сериал «Farscape» http://en.wikipedia.org/wiki/Farscape http://ru.wikipedia.org/wiki/На_краю_Вселенной
Сериал про ГГ – космонавта из недалекого будущего, который в результате человеческого космического эксперимента непонятно как попал в дальний космос и не знает, как выбраться назад. (далее…)

Новости НС с kurzweilai.net

Суббота, Май 23rd, 2009

Пол года не читал http://www.kurzweilai.net/ , пришло время наверстывать упущенное. Самые интересные куски будут собираться здесь. (далее…)

№85 Резервные методы контроля нейроимплантированных объектов

Понедельник, Февраль 23rd, 2009

Описывается средство контроля за нейроимплантированным объектом. Средство предназначено для использования в составе стандартных нейроимплантантов в качестве резервного. Оно срабатывает в случае отказа основных, мягких и щадящих программ зомбирования, которые работают на уровне мотивации, идей, целей, ценностей, мировоззрения и т. д. Мягкие программы контроля могут отказать. Могут выйти из строя основные блоки нейроимплантанта. Могут быть допущены ошибки во время зомбирования и оценок его успешности. Объект может вернуть себе контроль, если пересилит его старое мировоззрение, идеи, цели и ценности. Если вдруг сработают его старые сильнейшие, но позабытые ассоциации. В таком случае, нейроимплантант должен перейти на резервные программы контроля.

Также, это средство предназначено для первейшей установки, еще до того, как объект будет переведен на мягкие программы зомбирования. На этот начальный период, описываемое резервное средство контроля становится основным. В случае нехватки ресурсов (технологических, временных и других) для проведения процедуры полного зомбирования, либо в случае его нецелесообразности по другим причинам, средство резервного контроля также становится основным.

Подзадача – как определить, что объект вышел из под контроля? В простейших случаях – это пропуск объектом очередной регистрации. Регистрация может проводиться в клинике, тюрьме, гетто, концлагере, военной базе, районе разрешенного проживания. Регистрация может быть скрытной – для того, чтобы объекты не знали о всех уровнях установленного за ними контроля, и не учитывали их при разработке противодействия. Для каждой зоны выбирается свой режим строгости и минимального интервала между перерегистрацией в системе. В более сложном случае (например, оперативный работник в неконтролируемой среде), сроки перерегистрации следует увеличить. В последнем случае, регистрация может проводиться как при прибытии объекта на базу для обмена информацией и получения новых указаний, так и выездным способом – путем выезда регистрирующего персонала к объекту (в случае особой важности объекта и его сильной занятости). В особых случаях, как то – первые зомби-тюрьмы, особый режим секретности, слабый контроль над проживающим населением и недопущение утечек информации – возможно срабатывания защитного механизма уже при пересечении объектом заданного периметра, на котором установлены мощные излучатели. Недостатки – если излучатели периметра будут повреждены, либо будет создан экран, защитный механизм не сработает. Также, излучение демаскирует периметр. Другой способ, более затратный, но и более надежный – создание зон с разрешенным контролем. Перерегистрация идет автоматизировано и практически непрерывно – раз в несколько секунд. Для надежности, зоны покрытия ретрансляторов должны многократно перекрываться, чтобы в случае поломки одного из ретрансляторов не допустить перевода имплантанта в режим защиты. Способ подходит для закрытых помещений, желательно – с экранированием, которое защищает объект в обе стороны. Для работы защитного механизма, нейроимплантанту достаточно только принимать сигналы, без передачи. Это упрощает его конструкцию и снижает энергопотребление.

Чтобы сигналы было трудно подделать, они должны шифроваться. Возможна передача кода на основе открытого ключа, когда нейроимплантант проверяет, что данный ключ могла послать только его база. Для усиления защиты, закрытые ключи могут быть персонализированы для каждого нейроимплантанта.

В случае перехода имплантанта в режим защиты, возможны несколько вариантов действий. Конкретное действие выбирается при установке имплантанта в зависимости от среды, объекта, целей и прогнозов развития ситуации, а также может конкретизироваться имплантантом.

Самые строгие настройки – прерывание жизнедеятельности объекта. Может быть совершено многими способами. От подавления сердцебиения до взрыва микроскопических доз взрывчатых веществ в стволе мозга (отвечающего за жизнедеятельность жизненно важных органов, в том числе – за сердечный и дыхательный ритмы). При подавлении дыхания, нужно учитывать возможность сознательного контроля над дыханием, который можно обойти только при взятии под контроль мозжечка. Если необходимо соблюдение тайны, смерть можно подстроить под болезнь объекта. Болезнь может быть установлена либо при обследовании объекта, либо взята из баз данных наподобие google health. Возможно высвобождение небольших доз химических препаратов, прицельно бьющих по наиболее слабым органам. В таком случае, внешними наблюдателями смерть может быть списана на болезнь. На расследование понадобится время. За выигранное время можно взять расследование под свой контроль, либо принять другие меры.

Можно предусмотреть, чтобы миниатюрный взрыв в ЦНС мог инициироваться сильным электромагнитным полем. Это защитит от попыток возврата контроля объекту путем выключения нейроимплантанта сильным электромагнитным полем. Этот прием недопустим для обычных зомби-солдат – они смогут уничтожаться противником при помощи ЭМИ-оружия. Этот способ предназначен для контроля над особо важными объектами, либо в ситуациях особой секретности.

Более мягкий способ – активация сонливости, паралич мыследеятельности либо двигательной активности, либо в комбинации. За выигранное время, объект предполагается найти и вернуть под контроль. Паралич мыследеятельности и двигательной активности может вызываться не только тормозящими воздействиями, но и созданием мешающей активации – повсеместной, случайной. Она будет сбивать стандартные программы, затруднять скоординированные движения, как при болезни Паркинсона, и в такой же мере мешать мышлению.

Еще более мягкий способ – использование эмоциональных воздействий. Наведение сильного страха, неуверенности и депрессии. Более перспективно использовать их в связке с заранее созданными ассоциациями между нейроимплантантом и уже сформированными образами у объекта. Для работы систем описываемой резервной защиты можно ограничиться всего двумя ассоциациями. Одна – на общие образы свободы, самостоятельности, старого мировоззрения и т. д. Вторая – на ассоциации, связанные с жизнью Системы и в составе Системы. Тогда, эмоциональное воздействие можно проводить в связке с этими ассоциациями. Самый простой способ – активировать негативные и подавляющие эмоции вместе с образами старой свободной жизни, и позитивные – с ассоциациями новой. Но в таком случае, объект может догадаться о работе механизмов, вмешивающихся в его мышление. Более предпочтительным выглядит адаптивная модель регулирования эмоций. В зависимости от того, активация каких из двух вышеперечисленных ассоциаций преобладает, включаются соответствующие эмоции. Переключение мышления и выбор предмета для анализа – образов прошлой или новой жизни – будет осуществляться самим объектом. Тогда эмоциональные реакции он будет рассматривать как свои, следовательно, как точные и обоснованные обобщенные оценки перспективности двух различных стратегий поведения, что должно его толкать к добровольному возврату под контроль Системы, или, по крайней мере, к ослабеванию сопротивления.

Достоинство этих резервных схем – их относительная простота, в сравнении с широкополосными нейроинтерфейсами. Даже в случае малофункциональных нейроимплантантов, меньшим или равных по размерам и сложности средствам резервного контроля, установка средств контроля может быть оправдана с позиций безопасности. В вырожденных случаях, средства контроля могут устанавливаться без нейроимплантанта.

№73 Нейротехнологии в фильмах – «Земля: последний конфликт»

Воскресенье, Февраль 8th, 2009

Сериал «Земля: последний конфликт» http://en.wikipedia.org/wiki/Earth:_Final_Conflict http://ru.wikipedia.org/wiki/Земля:_Последний_конфликт
Особенности нейроимплантанта: название – Cyber Virus. Устанавливается в лаборатории автоматизированным зондом, который, проходя сквозь мозг, благодаря своей гибкости, подобно червяку, формирует сложный путь, изгибами охватывает несколько отделов мозга. Возможности – контроль за эмоциями (подавление любви и других человеческих эмоций), улучшение доступа к памяти, повышение скорости чтения и другого восприятия, контроль за оружейным биоимплантантом, внедрение воспоминаний, контроль ценностей, создание преданности иноплянетянам. Контроль перехватывает сразу же, несколько дней нужно для выработки умений более осознанно пользоваться. В серии 12 «Бегство Сандовала», вследствие двухгодичного износа нейроимплантанта, человеческий агент – защитник инопланетян Сандовал из хладнокровной и циничной служебной машины, не брезгующей убийствами и манипуляциями, превращается в того, кем он был до имплантации. Мчится в госпиталь для слабоумных, куда он сам упек свою здоровую жену, пытается ее освободить, извиниться, скрыться от преследования (слишком много знает), что-то сделать… Но против Системы не попрешь… Другой герой (главный герой – ГГ) может осуществлять свою деятельность лишь потому, что ему внедрили взломанную версию имплантанта. В еще одной серии, нейроимплантант ГГ используется для проверки: ему скрытно внедряются воспоминания о любви к одному агенту-женщине, и активируется центр любви, с целью проверки работы в плане преданности службы инопланетянам. Подтасовка воспоминаний встречается и в других сериях, но очень эпизодически. Сказывается то, что сериал снимали во времена, когда мобильные телефоны с камерами не были на каждом шагу, иначе при таких технологиях ГГ не смог бы сделать по сериалу почти ничего.


Рис. 73.1



Рис. 73.2

№72 Нейротехнологии в фильмах – Dark Angel

Воскресенье, Февраль 8th, 2009

«Нейротехнологии в фильмах» – это «культурные заметки».
Сериал «Dark Angel» http://en.wikipedia.org/wiki/Dark_Angel_(TV_series) http://ru.wikipedia.org/wiki/Тёмный_ангел_(телесериал) , режиссер – Джеймс Камерон (режиссер Терминатора), в главной роли – Джессика Альба (в значительной мере после этого сериала она стала популярной).

В серии 12 под названием «Rising» в первом сезоне встречаются экспериментальные военные нейроимплантанты. Возможности – подавление болевых импульсов, повышение мышечного тонуса (повышение силы до возможного предела), активизация всей физиологии, частично – изменение эмоций. Выходят очень брутальные солдаты. Организм обычного человека изнашивает до смерти за несколько месяцев. Может устанавливаться в «полевых условиях» – достаточно вставить его сзади со стороны позвоночника, а он сам распределит свою дендритную сеть куда надо. Начинает работать уже через минуту после установки. Осознанное регулирование со стороны носителя и вмешательство в работу нейроимплантанта невозможно. Разумный минимализм…


Рис. 72.1 Найдено новое оборудование…


Рис. 72.2 Установочная капсула - эргономика на марше


Рис. 72.3 Организм изношен нейроимплантантом

№22 Нейроимплантанты: соединение с нейронами

Понедельник, Август 18th, 2008

In the Works: MEMS Brain-Computer Interface

Caltech researchers are working on developing a MEMS-based (Micro-Electro-Mechanical System) brain-computer interface, using a neuron-tracking algorithm that automatically adjusts the electrode position to find the best neuron signals.
http://www.kurzweilai.net/news/frame.html?main=/news/news_single.html?id%3D8771
Далее

№21 Нейроимплантанты

Понедельник, Август 18th, 2008

(Развернутый оригинал документа на несколько страниц потерян несколько лет назад, пишу уменьшенную копию)
(далее…)