Archive for the ‘Мысли вслух’ Category

Где же ты — искусственный интеллект?

Вторник, Январь 27th, 2009

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

Увы, естественного интеллекта пока не хватает, для того, чтобы искусственный перешел из разряда чесания языка о нем, в разряд чесания языка с ним.

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

Ну, начнем с начала. Как я уже упоминал, я — эволюционист. Так, что если вы считаете, что на 6 день бог создал человека, а после этого на 7 отдыхал, а на восьмой закапывал по всей планете кучу окаменелых останков, то вероятнее всего читать дальше бессмысленно.

Итак, эволюционирование… Ясно, что очевидцев эволюционирования осталось мало. Тем не менее, мне кажется логичным, то что в какой-то момент появились само реплецирующие себя — простые молекулы, а дальше и более сложные молекулы и структуры и так за эдак миллиард лет добравшись до сложности ДНК, ну а дальше все пошло быстро и просто.

Возвращаясь к искусственному интеллекту.

Первым делом его попытались просто написать. Попытка хороша, результатов — ноль. Если вдуматься, то человеческий мозг (хранящий интеллект) весит 2-3 кг. В пересчете на количество атомов в нем (с некоторой натяжкой — простейших строительных блоков, эквивалентных ну скажем байтам) мы получаем, что-то типа эдак 10^22 команд, что эквивалентно десяти миллиардам 1TB винчестеров.

В общем хороша задачка получается на ассемблере написать весь этот код. Да… Я знаю, там очень много copy-paste. Но даже, чтобы его применить, нужно знать как оно работает внутри, чего пока толком не знают.

Вторым методом, которые попытались применить — это попытаться сформировать структуры похожие на мозг, и ждать, что они станут интеллектуальными. Ну скажем, нейронные сети. Опять ничего не вышло. Да, что-то эти нейронные могут делать (отличить «визуально» цифру один от цифры два), но мягко говоря от распознования цифр до интеллекта ну очень далеко.
Опять же, пару проблем которые всплыли. Не фига не понятно какого вида сети надо строить, разве что стали известны очень общие принципы, да и то в последнее десятилетие. Второе, это то, что количество нейронов (в коре головного мозга) что-то типа 10-20 миллиардов и зачастую у них могут быть до 20 тысяч связей. Итог имеем ну, скажем данных на 10^13 степени связей = всего десять 1TB винтов, но все что мы получим в этому случае, это очень упрощенную модель, только коры мозга и все равно мы не знаем как строить эту сеть.

Третье, это появились генетические алгоритмы. То ест,ь мы делаем что-то (скажем нейронную сеть) или еще какую-ту структуру, которая должна стать умной. Запускаем ее, меряем ум, размножаем самые умные и т.п. И снова мы наступаем на те же грабли, что и в прошлых двух методах. Да, генетические алгоритмы — это здорово, но пытаться построить сразу разум (без промежуточных элементов), полный абсурд, так как с таким же успехом можно было бы ожидать, что на земле путем эволюции появился бы сразу человек, без всяких промежуточных стадий.

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

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

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

а) Мы не знаем как оно работает.

Природа тоже не имела понятия как будет работать интеллект. Самое ключевое, что нужно (и в чем правы те, кто занимаются генетическими алгоритмами) — то, что должен быть репликация, мутация и естественный отбор. И эта комбинация вполне таки толкает систему в ту сторону, чтобы она становился все более живучей и похоже, что интеллект одна из серьезных вех повышения живучести, так что до него в какой-то момент должно дойти.

б) Попытка синтезировать готовый интеллект

Это бесполезное занятие. Что нужно делать, это просто создать репликатор с которого начать. И именно он уже должен добраться до того, чтобы суметь собрать из себя более сложную систему больших размеров.

Ведь если вдуматься, весь наш интеллект — те самые 2-3 кг, изначально хранятся в ДНК. Уж не знаю сколько она весит, но явно это цифра на десятки порядков меньшем чем вес всего мозга.

в) Интеллект надо обучать

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

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

9 параметров хорошего работника.

Пятница, Январь 23rd, 2009

— Ум

Хотя измерить этот параметр, особо не удается (ну может IQ тестом). Тем не менее пообщавшись с человеком вполне можно понять насколько он  умен.

Как по мне это ключевой параметр. В случае отсутствия ума, пиши — пропало, даже все остальные параметры не смогут вытянуть человека, в случае недостатка этого.

—  Увлеченность

Я бы сказал, что этот параметр состоит из двух подпараметров, я специально не хочу их разделять на отдельные верхнеуровневые, так как они очень тесно связанны. Страстность для меня значит — заинтересованность и активность.

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

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

— Мотивированность

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

Ну и мотивированность включает в себя увлеченность. Но увлеченность не обязательно включает в себя мотивированность.

— Честность

С этим параметром все достаточно сложно. Во первых его тяжело замерять и только по прошествию длительного времени, можно понять насколько человек честен.

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

Я бы сказал, что он по важности стоит на одной ступеньке с страстностью.

Если человек не честен, с ним работать тоже можно, но это будет постоянно потреблять время на перепроверку его слов и намерений.

— Опыт

Это в целом гораздо легче определить, чем ум. Это как раз то, что пишут в резюме: где работал, сколько работал,  где учился и т.п.

Это фактически единственный из всех параметров, который изменяется по ходу жизни.

— Коммуникативность

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

—  Лидерство

Хотя это очень близко к предыдущему параметру, но все же одно дело — просто общаться, другое дело общаться активно и быть связующим звеном в команде.

Как точно замечено Yurich, высокое значение этого параметра нужно не всем хорошим работникам.

— Рискованность

Это обоюдоострый параметр. С одной стороны, если работник не берет никаких рисков и готов только выполнять решения идущие сверху — это плохо, тем что тратиться большое количество дополнительно времени на согласование даже небольших решений. С другой стороны, если работник начинает самостоятельно принимать решения на слишком больших вопросах, то это значительно увеличивает риски.

Вот такие вот параметры… Что еще можно сюда добавить?

— Трудолюбие

Важный параметр, но с двумя подводными камнями.

Первый камень — это то, что он достаточно тесно связан с увлеченностью. Да, трудолюбие может существовать без увлеченности, но случай достаточно редкий.

Второй камень — это то, что лично я ратую за результат, а не за количество работы. В этом смысле, если человек не трудолюбив, но при этом справляется с задачами — то он вполне хороший работник.

Корпоративная культура (часть вторая).

Воскресенье, Январь 11th, 2009

Когда-то я писал статью уже о корпоративной культуре (КК). Пока, все еще, актуальна, хотя немножко мой взгляд уже изменился.

О чем я хочу написать, что прочел недавно книгу «Эгоистичный ген«, чего и вам рекомендую. И одна из вещей, которая там мне очень понравилась идея о эволюционно стабильной стратегии.

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

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

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

К чему это я веду. Хитрость корпоративной культуры состоит в том, что она как раз является классической эволюционной стратегией.

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

Проблема именно в том, что значит стратегия была не стабильная и вторжение эгоистичной идеи выжило все альтруистичные.

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

С другой стороны, находясь в стабильном состоянии, можно о ней не беспокоиться, а оставить ее и она вероятнее всего «отразит» нападки снаружи.

Скажу честно, я не знаю, какая культура стабильная. Но, могу четко сказать, что культура чисто альтруистическая — проект интересный и я готов чуть ли не за бесплатно над ним работать не является стабильной. Так же не является аналогичная культура но которая насаждается сверху (что-нибудь типа — «Все мы одна команда. Давайте возьмемся и вместе сделаем»).

Замечу, я не говорю тут о том, хорошая КК или плохая, выгодная она для владельца или не выгодная. Я только говорю, о том, что система в некоторых состояниях не может долго находиться, даже, если к ней прилагают внешние усилия. И нужно беспокоиться именно о том, что КК была в стабильном (и естественно положительном для вас состоянии).

Вера в лидеров и бабки.

Воскресенье, Январь 4th, 2009

И еще одна из незаконченных статей.

Вот тут Макс Крайнов писал про нездоровую веру в лидеров. В кратце, то что зарплаты у CEO зашкаливают (как в абсолютных так и в относительных значениях), а на самом деле рост компании зачастую связан вовсе не с умностью или глупостью CEO, а с удачей, хорошей бизнес моделью, хорошей ситуацией на рынке.

Так вот, по поводу этого, у меня пару «за» и пару «против».

Начну очень издалека.

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

Проблема в этом работнике заключается в том, что он требует денег за то, чтобы НЕ делать работу плохо.

Теперь прыгаем к примеру с продавшицой. Пусть есть магазин в котором объем продаж $5k-$10k и в нем сидит продавщица, которая «отрываясь» на клиентах отбивает их от магазина и приближает продажи ближе к $5, а не отрываясь она приближает их к $10k. У нее же самой ЗП, может быть вполне $200. Стоит ли ей платить больше (есть на рынки именно такие цены). Я бы сказал, стоит если она старается, если же она требует это пытаясь держать вас в заложниках того, что ваша прибыль упадет на $5k, то ее надо гнать в шею, как того работника который просил повысить ЗП, чтобы он не работал плохо.

Смотрим дальше, предположим из-за ново нанятой продавщины, просто отбоя в магазине нету, вероятнее всего ей можно и $500k и $1k поставить зарплату (гораздо выше средней по рынке), если продажи зашкалили за $15k.

В том же магазине работает дядя Вася грузчик, который таскает от грузовика в магазин товары. Само собой, если он делает работу плохо — то его сразу можно уволить. Если он делает работу свою просто гениально, ну может с $100 его зарплату можно поднять до $150, дальше ну никак, просто потому, что он и не увеличивает прибыль, а разве что может ее не уменьшать.

А теперь, какое это к черту имеет все отношению к лидерам?

Отношение следующее. CEO — это такая же продавщица или грузчик. Он выполняет определенные (гораздо более творческие и требующие больше знаний) обязанности и тоже получает зарплату. И очень важно, что от него заразы
а) Прибыль может быть гораздо больше
б) При плохой работе прибыль может быть и гораздо меньше.
Соотвественно, никто не хочет, чтобы компания с миллиардными оборотами управлялась кем-то, кто получает сто долларов в месяц. Им просто будет страшно, что человек легко может прострать миллиарды и все что он потеряет — это те самые сто баксов в месяц.

Если же зарплата у него офигенная, то во первых он будет бояться падения прибыли, так как могут выпереть, а во вторых работать на повышением прибыли (так как его зарплата будет от этого сильно зависеть).

Еще дальше возвращаясь, к статье Макса. Так вот, с чем я НЕ согласен, что роль лидера преувеличена. Да, CEO не решает все в компании (как Макс писал, статистически 10% успехов компании может быть отнесены к действиям CEO). С другой стороны, если 10% успехов увеличивают в 10 раз прибыль, то можно и в раза два зарплату им выше держать.

Как я писал, статья лежала в загашнике и честно говоря я не совсем понимаю к чему я тогда вел 🙂 Так что приведу чуть другую схему аргументировка.

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

Тоже самое в компаниях. Да, лидерство не так важно, когда все идет хорошо. Но когда все идет плохо, то лидерство — это единственное, что может спасти компанию. Поэтому, как по мне роль лидерства не преувеличена, а просто не правильно акцентировано внимание, когда же его роль действительно важна.