jayrandom: (Default)
[personal profile] jayrandom
У меня патологическая тяга к порядку. Сложнее всего наводится порядок в собственной жизни. Долгое время пытался навести порядок в семейном архиве фотографий. За 8 лет "цифровой жизни" скопилось больше 27 тысяч снимков, и конечно же хотелось навести там какую-нибудь структуру для удобства поиска. А какую?

Начиналось всё с дерева по темам. Отдельно - "жизнь колониста" (с подтемами), отдельно - "наезды на родину" (со своими подтемами), отдельно - звери, всякие мальчишеские увлечения, и т.д. В определённый момент древесная структура оказалась слишком жёсткой. Всё больше и больше фотографий совмещало в себе сразу несколько тем. Дублировать фотографии не хотелось, а изменять структуру, оставаясь в рамках дерева, становилось всё сложнее.

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

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

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

Аннотирование (я имею в виду крупномасштабную работу - типа "просмотреть 27 тысяч снимков") - не просто времяёмкая работа. В процессе такой работы по-настоящему ощущаешь, как в голове включается машинный разум и выключается всё остальное.


По-видимому, именно это состояние имел в виду Олсуфьев, когда пару лет назад назвал мышление программиста механическим. До сих пор помню, как меня это тогда шокировало. Как такой трезвый человек может нести такую пургу?

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

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

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

У советских программистов был ещё один повод смотреть на западных коллег свысока. Из-за переразвития законодательства в области защиты авторских прав на Западе всегда очень страдало понятие code reuse. Грубо говоря, одну и ту же задачу приходится решать по многу раз снова, потому дешевле написать своё, чем заплатить разработчику уже готового. Соответственно, (1) развитие инженерной мысли тонет в этом болоте и (2) нужно много людей, чтобы это болото осушить, решая изо дня в день одинаковые задачи (не говоря уже о том, что это отупляет). Советский программист просто эээ... заимствовал и шёл дальше большими шагами. Зато широко развивалось искусство адаптировать чужие куски под свои нужды и связывать их воедино. Что фактически превращало программистов в исследователей чёрных ящиков (а заодно и прикладных психологов). Неудивительно, что первая диаспора советских программистов быстро становилась на Западе руководителями проектов, зачастую даже не владея английским.

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


Но лучше всего вещи понимаешь, конечно, на собственном примере. Вернёмся к аннотированию.

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

Человек, венец вселенной, рассказывает слепой машине, что на одной фотографии закат и море, а на другой - пальма и мальчик, собирающий с неё финики, - потому что это человек умеет лучше машины. А машина исполнительно записывает это знание, рассовывает куда надо, чтобы потом помогать человеку быстро искать, поскольку это она умеет делать лучше его. Симбиоз? Хорошо если так.

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


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

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


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

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

Profile

jayrandom: (Default)
jayrandom

January 2026

S M T W T F S
    1 23
45678910
111213141516 17
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 05:03 pm
Powered by Dreamwidth Studios