Книга Думай «почему?». Причина и следствие как ключ к мышлению, страница 34. Автор книги Джудиа Перл, Дана Маккензи

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «Думай «почему?». Причина и следствие как ключ к мышлению»

Cтраница 34

После того как байесовская сеть построена, финальный шаг — ввести ДНК жертвы и вычислить вероятность того, что она занимает определенное место в генеалогическом древе. Это делается путем распространения убеждений с помощью правила Байеса. Сеть начинается с определенной степени уверенности в каждом возможном утверждении об имеющихся в ней узлах, например: «отцовская аллель цвета глаз у этого человека — голубая». По мере того как в сеть вводится новая информация — неважно, в какое место, — степени уверенности в каждом узле, вверх и вниз по сети, будут меняться каскадно. Таким образом, как только мы обнаруживаем, что данный образец является вероятным совпадением для одного человека в родословной, мы распространяем эту информацию вверх и вниз по сети. В итоге Bonaparte учится не только на ДНК живых членов семьи, но и на уже полученных им результатах.


Думай «почему?». Причина и следствие как ключ к мышлению

Рис. 19. От генетической экспертизы до байесовских сетей. В байесовской сети незакрашенные узлы представляют аллели, закрашенные — генотипы. Данные доступны только для закрашенных узлов, потому что генотипы не показывают, какая аллель была унаследована от отца, какая от матери. Байесовская сеть позволяет сделать выводы о ненаблюдаемых узлах, а также оценить вероятность того, что данный образец ДНК был получен от ребенка (источник: инфографика Маяна Харела)


Этот случай живо иллюстрирует преимущества байесовских сетей. Как только сеть настроена, следователю не нужно вмешиваться, чтобы сообщить ей, как оценить новые данные. Обновление происходит очень быстро (байесовские сети особенно хороши для программирования на распределенных вычислительных системах). Сеть интегративна, т. е. вся она реагирует на новую информацию. Вот почему даже ДНК тети или троюродного брата может помочь в идентификации жертвы. Байесовские сети — почти живая органическая ткань, и неслучайно именно эту картину я держал в уме, пока пытался добиться, чтобы они заработали. Я хотел, чтобы байесовские сети работали как нейроны в человеческом мозге: когда касаешься одного нейрона, реагирует вся сеть, распространяя информацию на все остальные клетки в системе.

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

Какой бы изящной ни была программа Bonaparte, она ничего не стоит без одной способности, которой не располагает (пока), — человеческой интуиции. Программа проводит анализ и сообщает специалистам, кому мог принадлежать каждый образец ДНК, составив рейтинг самых вероятных вариантов, а также сообщает о коэффициенте вероятности. После этого эксперты объединяют информацию о ДНК с данными о вещественных доказательствах, найденных на месте крушения, и делают окончательные выводы, не без помощи интуиции. Пока компьютер не может провести идентификацию самостоятельно. Одна из целей причинного вывода — создать более удобный интерфейс для взаимодействия человека и машины, который позволит включить интуицию следователя в процесс распространения убеждений.

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

Начнем с самого начала: когда вы говорите по телефону, он преобразует ваш прекрасный голос в последовательность нулей и единиц (которые называются биты) и трансформирует их, используя радиосигнал. К сожалению, ни один из них не принимается со 100 %-ной точностью. Пока он идет от башни сотовой связи и до телефона вашего друга, отдельные биты сменятся с нуля на единицу или наоборот.

Для исправления этих ошибок можно добавить избыточную информацию. Простейшая схема состоит в том, чтобы повторить каждый бит информации три раза: закодировать единицу как 111 и ноль как 000. Допустимые строки 111 и 000 называются кодовыми словами. Если приемник получит недопустимую строку, например 101, он будет искать наиболее вероятное допустимое кодовое слово, чтобы объяснить ее. Здесь, скорее всего, ошибка — ноль, а не две единицы, поэтому декодер интерпретирует это сообщение как 111 и, таким образом, заключит что бит был единицей.

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

Проблема декодирования аналогична другим проблемам с обратной вероятностью, которые мы обсудили, потому что мы снова хотим вывести вероятность гипотезы (послали сообщение Hello World!) из имеющихся данных (получили сообщение HXllo Wovld!). Кажется, пришло время применить распространение убеждений.

В 1993 году инженер «Франс телеком» по имени Клод Берру поразил мир программирования кодом для исправления ошибок, который позволял добиться почти идеальных результатов (другими словами, требуемый объем лишней информации был близок к теоретическому минимуму). Его идею под названием «турбокод» можно проиллюстрировать, представив ее с помощью байесовской сети.

На рис. 20a показано, как работает обычный код. Биты информации, которые поступают в телефон, когда вы говорите, показаны в первом ряду. Они кодируются любым способом — назовем его код A — в кодовые слова (второй ряд), которые потом принимаются с некоторыми ошибками. Это диаграмма — байесовская сеть, и мы можем использовать распространение убеждений, чтобы вывести из полученных битов, каковы были биты информации. Однако это никак не улучшит код А.


Думай «почему?». Причина и следствие как ключ к мышлению

Рис. 20. Представление обычного процесса кодирования и турбокода в виде байесовской сети: а — информационные биты преобразуются в кодовые слова; они передаются и принимаются в пункте назначения с шумом (ошибками); б — информационные биты скремблируются и кодируются дважды. Декодирование происходит путем распространения убеждений в этой сети. Каждый процессор внизу использует информацию от другого процессора, чтобы улучшить предположение о скрытом кодовом слове в итеративном процессе


Блестящая идея Берру состояла в том, чтобы закодировать каждое сообщение дважды: один раз непосредственно и один раз уже после того, как сообщение скремблировано (преобразовано в случайную последовательность). Это приводит к созданию двух отдельных кодовых слов и получению двух шумных сообщений (рис. 20б). Нам неизвестна формула, которая позволяет напрямую декодировать такое двойное сообщение. Но Берру на опыте показал, что, если неоднократно примерить формулы распространения убеждений к байесовским сетям, происходят две потрясающие вещи. В большинстве случаев (и здесь я имею в виду около 99,999 % случаев) вы получаете верные информационные биты. Более того, можно использовать гораздо более короткие кодовые слова. Проще говоря, две копии кода А гораздо лучше одной.

Вход
Поиск по сайту
Ищем:
Календарь
Навигация