Category: it

thinking

Предсказания. 3

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

Я посмотрел детали ударной работы, и у меня буквально отвисла челюсть. Вязкость жидкости подчиняется уравнению Аррениуса: ее логарифм пропорционален обратной температуре. Если диапазон температур относительно невелик, возникает пропорциональность логарифма вязкости изменению температуры и его квадрату. Вместо этого авторы коррелировали вязкость и логарифм температуры! Немудрено, что регрессия не работала, и потребовалась нейронная сеть, чтобы исправить нелинейности. К статье были приложены данные, и я за интерес (мне все равно надо было отладить свою программу) их проанализировал. Я сразу получил лучшие результаты с небольшим числом параметров. "Трудность" задачи заключалась исключительно в использовании ошибочной формулы. Этот нонсенс предлагался нам как образец для вдохновений и подражаний.

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

Чистому все чисто.

***

Все это напомнило мне другую историю.

У меня есть соавтор, который в юности был постдоком у корифея-теоретика, ныне члена Национальной Академии. Неважно, чем он у корифея занимался, но в своих вычислениях он существенно использовал электронный псевдопотенциал, который незадолго до того вывел другой постдок того же корифея. На этом псевдопотенциале у группы были уже десятки статей, а после их прорывных публикаций его использовали многие другие группы - и мой соавтор тоже в своем одиночном плавании, а через него и я. Многие сотни статей.

У корифея-теоретика был друг в том же университете, корифей-экспериментатор. Корифей-теоретик наводил теорию, а корифей-экспериментатор ее тут же подтверждал во всех деталях. Ни у кого другого воспроизвести эксперименты не получалось (и не получилось). Экспериментатор рано умер, и земля ему пухом, о покойных только хорошее. Но пока тот был жив (а он был очень влиятельным человеком), он делал абсолютно все, чтобы подавить дальнейшие исследования в этой области в Америке.

Прошло 20 лет, и мой соавтор давно профессор в Калифорнии. Выдумал он новый способ вывода псевдопотенциала и решил сравнить со старым. Сравнил - никакого подобия. Проверил выкладки, программы, сам замучился и студентов замучал - нет ошибки. Залез он в код старого потенциала, и сразу обнаружил там ошибку. Она была уже в формулах: в одном из интегралов был пропущен якобиан. Сотни людей ссылалось на статью, никто не проверил выкладок. Он говорил, что у него померк свет в глазах. У него одного статей 30 с этим псевдопотенциалом. Он разослал всем циркулярное письмо о своей находке.

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

Когда был опубликован корригендум, корифею-теоретику редакция предложила написать ответ. И он написал. Ответ занимал ровно один параграф. Суть ответа была в том, что его теории настолько замечательные, что все правильно описывают даже с ошибочным потенциалом.

Чистому все чисто.
thinking

Предсказания

Пропустил дискуссию о предсказаниях свойств химических соединений (о предсказании ядовитости фосфорорганики). Ответа я не знаю, но она вся б/м ядовита, и вопрос лишь насколько.

Могу привести пример нерешенной проблемы: предсказание растворимости органических соединений в воде (очень важно для фармацевтики и биохимии в целом). Пусть S - молярная концентрация насыщенного раствора; предсказать logS по структуре.

Существует база растворимостей при университете Аризоны, а в ней несколько тысяч соединений, для которых растворимость покрывает 13 порядков величины. Проблема не в том, чтобы сделать предсказание для конкретного соединения. Об никто даже не говорит. Предскажите по этой базе данных logS с точностью, лучше, чем 0.1 RMS. Нет методов, способных дать оценку < 0.2 RMS.

***

Сейчас machine learning "пошел"; у нас даже открыли новую кафедру, чтобы внедрять полезное начинание в естественные науки. Для начала опросили корифеев, какие задачи решать. Кто-то посоветовал эту проблему для почина. Суперкомпьютеры перелопатят 10,000,000 соединений, считая все мыслимые свойства, и эта база данных будет использоваться для разных задач. Растворимость была задумана как демонстрация силы подхода. Создали экспертную систему, которая созидает молекулярные дескрипторы, и нейронную сеть, которая их отбирает. Электронный мозг трудился, не покладая сил, и выдал ошибку... в 0.2 RMS.
thinking

Бунт на корабле. 3

SHELL: PROC OPTIONS (MAIN);
DCL CHAR LN;
LN = Лариса Наумовна;

Так звали нашу учительницу программирования.

ЛН была столь же умна сколь красива. Прекрасны были медные волосы ее, и юное загорелое лицо ее, и конопушки на носу ее, и фигура ее, и речи ее, и мысли ее, и нежные руки ее, и запястья ее, и манеры и жесты ее, и одежды и туфли ее, и самый сладкий запах ее - вся она от гребенок до ног была чистейшим образцом чистейшей прелести. Воспитаница отца-математика, ЛН учила нас древнему, ныне полностью забытому языку - Programming Language One. Творцами задумывался Пиэль как Единый Язык, подобие которого белый свет видел лишь в свои младенческие годы до строительства первого светлого будущего в виде вавилонской башни, ибо предназначался язык сей и для наук (подобно Фортрану), и для народного хозяйства (подобно Коболу), и для Высшего Машинного Разума (как Лисп), и потому вмещал в себе простоту Бейзика и мудрость Алголя-68, многозначность ЭмЭль и красоты Паскаля, поэтичность Симулы и заумность Автокода, строгость Пролога и воздушность Би и Си. Все эти немалые достоинства совмещал в себе Единый Язык, предназначенный для электронной вычислительной машины АйБиЭм-360, которую никто из нас так и не увидел за все время обучения. Да и может ли смертный "увидеть" АйБиЭм-360, проникнув взглядом сквозь металл кожуха и провода, заглянув в ту ипостась, где машина безоговорочно повиновалась логосу?

Общение с АйБиЭм-360 требовало долгой и упорной подготовки, которая занимала год. Сначала ЛН учила нас синтаксису Единого Языка. Потом мы писали простенькие программки, которые (за неимением Машинного Разума) проверяла сама ЛН, ставя нам тройки. Далее мы постигали высшие премудрости, вроде сортировки массива методом пузырька. За все это время плоть АйБиЭм-360 ни разу не предстала пред нашими очами: ЛН служила входом и выходом написанных нами программ. Мысль о том, что ЛН посвятит несколько минут своего бесценного времени, прокручивая в чудесной голове мой код, доставляла неземное блаженство.

Наконец, изощрив наукою ум и закалив характер, в середине мая проходили мы обряд совершеннолетия, а именно - ехали на электричке до платформы Фрезер по Казанской ж/д. Недалеко от платформы располагались заводские общежития (чьи обитатели могли дать раза не хуже арбатской шпаны) и там же вычислительный центр, где набивали мы одним пальцем колоды перфокарт. Кокетливо обвязанную полоской, свернутой из двух перфокарт, пронумерованную чернилами колоду отдавали ЛН, и наша учительница влагала ту колоду в отверстие машины, извергавшей из другого отверстия рулоны перфорированной бумаги. Хотя ЛН придирчиво проверяла код, компилятор все равно находил множество ошибок; мы исправляли их, и процедура повторялась опять. Изящные пальцы забирали пронумерованные колоды и возвращали вердикт неодушевленного существа, не прощающего ошибок. Тщетно взирали мы на перфокарты через щелочки декодеров, тщетно выглаживали их под стопками толстых книг: картонные края обтрепывались, и с третьего раза начинались непредсказуемые ошибки. Всем хорош был Единый Язык, но несовершенство человеческой природы, сотворившей платформу Фрезер, дрянной картон и дырокольные аппараты, мешали нам вознестись душою к эмпиреям, обитаемых гениями и интеллектами, где царил дух первого и единственного Пиэля.

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

Тем сокрушительнее были новости: весной ЛН поменяла фамилию с Виленкиной на Меерович, а дивные формы ее заметно округлились. Мои надежды донести до ЛН слова любви, терзавшей меня, рассыпались в прах: нас разделяли несколько лет, и вместе с тем - пропасть; судьба послала мне удачливого соперника, но я даже не удостоился увидеть источник моих злосчастий. Как АйБиЭм-360, разлучник существовал только умозрительно, обозначаясь через данные на выходе.

На сл. год у нас был уже другой учитель: угрюмый малый, заросший бородой. Я так и не оправился от удара. Программирование без ЛН было мертвым, безобразным предметом, в котором не было ни нежности, ни любви.

END;
RETURN;

LILAVATI: PROC (LN);
DCL CHAR LILAVATI;
LILAVATI = https://en.wikipedia.org/wiki/L%C4%ABl%C4%81vat%C4%AB ;

В те годы я много читал биографий, и одна из них завладела моим воображением более других: история математика Рамануджана.

Засыпая, Рамануджан часто видел сон: водопад из человеческой крови, на котором как на доске женская рука выводила математические формулы. Утром, просыпаясь, он записывал подсмотренные формулы в книжечку; так рождались его прозрения, ставившие других математиков в тупик своей неожиданностью. Рука (а была она одною из четырех) принадлежала воплощению жены Вишну богинe Лакшми - Шри Намагири Амман - с глазами лотоса, лицом лотоса, ртом лотоса, руками лотоса и ногами лотоса.

Ночью того же дня под впечатлением прочитанного мне приснилась девушка необычайной красоты. Она была смугла; на ней ничего не было надето, кроме жемчужного ожерелья и цветов лотоса в распущенных волосах. Это не была Лакшми; у девушки было две руки, и я растерянно спросил, как ее зовут и зачем она пришла. Я был удивлен звукам своего голоса: слова мои изречены были на Едином Языке. Незнакомка объяснила мне таким же способом, что она дочь знаменитого математика. Как Лариса Наумовна! - подумал я, и тут же увидел, что это была она! Как я мог ее не узнать? ЛН звала меня к себе в объятия, она сердилась на мою неспешность - и в гневе становилась еще прекраснее. Я смело обнял ее, мои пальцы пробежали вдоль спины ее и зацепили ожерелье ее. Нитка порвалась, и бусины с грохотом посыпались на пол. Я проснулся.

Больше я ЛН никогда не видел, ни во сне ни наяву.

При рождении отец-математик составил гороскоп, предсказавший дочери, что та родилась под несчастливой звездой: она останется незамужней и бездетной, если свадьба не падет на некоторое время с точностью до минуты. В день свадьбы математик устроил водяные часы-клепсидру, чтобы точно отсчитать время и запретил дочери подходить к ней. Любопытная дочь не послушалась, наклонилась над часами, ее ожерелье порвалось, и одна бусина заткнула отверстие в сосуде. Минута была отсчитана неточно, и роковое предсказание сбылось. Чтобы утешить дочь, Бхаскара-2й взялся учить ее математике; он обещал Лилавати написать трактат, названный ее именем, чтобы оно не забылось в веках.

END;
END LILAVATI;

DOUBLESTAR: PROC;

Программа, которую я набивал на Фрезере, была такая: рассчитать орбиту планеты в двойной системе.

Я прочитал в книжке астрофизика Шкловского, что планета может описывать вокруг двух неподвижных звезд либо "кружки" либо восьмерки. ЛН не понравилась задача: она не учила никаким программистским штучкам, но я упросил ее дозволить мне вычислить орбиту-восьмерку. Я расписал движение в декартовых координатах и численно интегрировал дискретизированные уравнения, не ожидая подвоха. Орбита выводилась в виде координат каждые N итераций, я наносил ее на миллиметровую бумагу. После неимоверных трудов по заталкиванию задачи в АйБиЭм-360, результат был удручающим: вместо кружков и восьмерок планета быстро срывалась с орбиты.

Я много раз проверил уравнения и программу; в них не было ошибок. Я спросил ЛН, в чем причина; она объяснила мне про накопление арифметических ошибок и посоветовала увеличить точность. Планета все равно срывалась с орбиты. Тогда я убрал одну из звезд. Планета делала несколько оборотов и срывалась с орбиты. ** Я попросил помощи у отца. Он посоветовал применить формулу интегрирования более высокого порядка. Планета делала больше витков, но все равно постепенно срывалась с орбиты. Что бы я ни делал, она рано или поздно срывалась с орбиты. Я делал что-то не так, но не мог понять, что именно. Я так и не довел вычисление до конца, но летом, разбираясь в ошибке, прочитал учебник по аналитической механике - момент по силе воздействия не меньший, чем ночная встреча со смуглой дочерью математика.

Несчастливая звезда Лилавати стала моей счастливой звездой.

END;
END DOUBLESTAR;

** см. обсуждение в комментариях + картинку дрейфа афелия
thinking

Тест Тьюринга

Третий день идет поток комментариев патриотического содержания. Некоторые явно оставлены ботами, некоторые - явно людьми; для 70% я не в состоянии определить, боты это или люди. Проблема поболее, чем неведомы зверушки для расписного Ягуара с мутной реки Амазонки, которого маменька учила: "Если ты найдешь Ежа, скорее швырни его в воду. Еж сам собою развернется в воде. А если найдешь Черепаху, выцарапай ее лапой из панциря."

Ботов положено незамедлительно банить с занесением в спам, людей - послать куда подальше. А тут непонятно что...

***

Исполнить программу до последней строчки независимо от результата - знак истинного мужа. Как там Кришна учил в Бхагават-гите...

You have the right to perform your actions,
but you are not entitled to the fruits of the actions.
Do not let the fruit be the purpose of your actions,
and therefore you won’t be attached to not doing your duty.


Такое усердие и чувство долга да вознаградятся в следующем перевоплощении.

Вот тогда-то я их и выцарапаю лапой из панциря.
thinking

Мракоэволюция

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

его путь прямой биолог мраков
проложил средь трио из сосен
где он опыт сын ошибок с раком
ставит с премудрейшей из асен

он прошел разряды насекомых
докинза все книжки прочитал
и теперь с науками знакомый
всех вертел (здесь сил сильней провал)

здесь отбор естественности драму
сам впитал и далее понес
мама моет мылом кладограмму
лошади везут ароморфоз

и тогда природа отступила
лестницу сшибая за собой
и продольный мозг она вложила
в полость где был раньше головной