ailev.ru

Обсуждение

В архиве: 23 комментария.

Читать и комментировать в ЖЖ ↗

vvagr · 22 ноября 2015

Комментарий

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

Имя не сохранено · 22 ноября 2015

Комментарий

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

Анатолий Левенчук · 22 ноября 2015

Комментарий

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

Ответ на комментарий

vvagr · 22 ноября 2015

Комментарий

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

Ответ на комментарий

Анатолий Левенчук · 22 ноября 2015

Комментарий

Так это и есть работа. Это моделирование вручную делали люди в тусовке вокруг ISO 42010, а сейчас нужно будет перестраиваться, чтобы обеспечивать хоть какую-то "выучиваемую автоматизацию". Я когда-то, кстати, писал о "корпусной инженерии" -- да, предстоит куча труда по сбору данных, так что крупные инженерные лавки резко вырвутся вперёд (опенсорса ведь в инженерных данных пока не предвидится, и даже вендоры софта САПР смогут получить эти данные только по каким-то соглашениям с инженерными компаниями): http://ailev.livejournal.com/1009201.html

Ответ на комментарий

vvagr · 22 ноября 2015

Комментарий

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

Ответ на комментарий

Имя не сохранено · 23 ноября 2015

Комментарий

Рано ещё для нужных вам технологий. Улучшение технологии "универсального аппроксиматора сложных функций в многомерном пространстве" (или "deep learning") не даёт ничего принципиально нового, чего не было раньше. Вы же владеете ТРИЗом, должны понимать это. Разве что embeddings можно использовать для выделения терминов предметной области. Но опять же не очень точная технология. Так что вам нужен следующий виток прогресса, а не этот. А этот следующий виток технологий будет связан не с Deep Learning , а будет включать его как компоненту. Поэтому ваш текст крайне мне напоминает следующее произведение известного фантаста в моём вольном изложении: "у нас появились кремниевые ружья! давайте теперь используя эту новую технологию скорее полетим на марс! и я даже придумал как: давайте сделаем большую кремниевую пушку, а сами будем вместо ядра, выстрелим из неё и улетим на марс!"

Имя не сохранено · 24 ноября 2015

Комментарий

-- когнитивной архитектуры (нужно разработать, тут пока нет стандартных решений) предположил возможность расширяемого по знаниям стека, в котором на нижние уровни передаются предобученные сетки и обучающий материал (примеры): "парадигма" - для смены познавательной парадигмы "аксиома" - для смены концепции "академик" - периодический рефакторинг знаний раз в несколько лет (3-4) "профессор" - полная тренировка в течении летних каникул "преподаватель" - тренировка в выходные и праздничные дни "обозреватель" - обзор изменений в сети в ночное время "консультант" - переиндексация в режиме wikipedia в свободное от запросов время "специалист" - журнализация обрабатываемых вопросов и ответов "методист" - способы ответов и объяснений в конкретной культуре каждый верхний уровень содержит набор примеров, обязательных для учета на нижестоящем уровне каждый уровень ведет журнал конфликтов собственной сети с примерами верхнего уровня примеры выше через уровень не учитываются при обучении, но учитываются при контроле корректности обучения

Анатолий Левенчук · 24 ноября 2015

Комментарий

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

Ответ на комментарий

Имя не сохранено · 24 ноября 2015

Комментарий

Никакой задачи конечно этот подход всё равно не решит (нужно уметь работать с multi-word units), но интересно, конечно, надо попробовать. Adagram был unsupervised, пользы не приносил (см. выводы у меня в жж: http://buriy.livejournal.com/32095.html и http://buriy.livejournal.com/31930.html ).

Ответ на комментарий

Анатолий Левенчук · 24 ноября 2015

Комментарий

Конечно, нужно работать с многословными сочетаниями, но не факт, что там именно "словность" важна. Мне кажется, вдохновение может прийти из классических лингвистических наработок, если удастся их выразить в формате embeddings -- например, таких подходов, как http://www.ling.upenn.edu/~rnoyer/dm/ (идея, что буквы собираются слова и несут на себе какие-то клочки смысла так же, как слова в словосочетания, предложения и далее целые тексты -- правила/способ сборки не меняется в зависимости от уровня этой сборки).

Ответ на комментарий

Анатолий Левенчук · 25 ноября 2015

Комментарий

Критика понятна, но: а) аннотировать можно ещё и типами, не только частями речи. IBM Watson использует какую-то онтологию простенькую для этого, качество ответов вырастает существенно. Это та же идея (только части речи уж совсем простая онтология -- предметы, действия, признаки и почти всё на этом. Если взять онтологию из хотя бы 200 понятий, как ISO 15926-2, то можно качество поднять в разы и разы). Аннотирование можно делать тоже всяко-разно, конечно. И это не панацея. б) в классическом искусственном интеллекте всегда признавалось, что проблема либо в объеме информации, либо в скорости вычислений, либо и в том и в другом: то есть метод грубой силы лежит где-то на мейнстриме. Текущими темпами прирост силы таки будет, фирма NVIDIA уже считает NN приоритетными для архитектур своего железа, остальные быстро-быстро разворачиваются в эту сторону. С другой стороны, с экрана 640*480 мы до экрана даже 6400*4800 не дошли ещё за пару десятков лет пристального внимания хардверщиков всего мира к этому вопросу. Грубая сила имеет свои ограничения, это понятно. Но я бы и грубой силы не недооценивал. Ибо в изучаемом нами предмете естественного языка и впрямь закономерного может оказаться не так уж и много, это ж не тщательно сконструированный какой-нибудь хаскель или даже APL.

Ответ на комментарий

Имя не сохранено · 25 ноября 2015

Комментарий

>а) аннотировать можно ещё и типами, не только частями речи. IBM Watson использует какую-то онтологию простенькую для этого, качество ответов вырастает существенно. Качество каких именно ответов вырастает? IBM Watson не является единой системой -- это скорее набор баз данных и библиотек, решающих разные задачи. Например, синтаксический анализ Watson не использует embeddings и реализует подход, основанный на правилах и классификаторах объектов разных типов. Так же, как и ЭТАП-3, Compreno, и куча других продвинутых систем с многолетней историей. Онтология в нём -- это классификаторы объектов, кажется, говорилось про порядка 50 основных классификаторов. В каждом сотни тысяч лингвистических единиц. "Если взять онтологию из хотя бы 200 понятий" -- вы имеете в виду, взмахом руки заполнить ещё 200 классификаторов такого же размера? У вас есть лишние $20 млн долларов? (из расчёта один человеко-год на один вручную заполняемый классификатор) Да и всё равно "в разы" не получится, потому что компьютер не строит модель мира, стоящую за текстом. б) "разворачиваться" NVIDIA может сколько угодно, но на практике рост скорости на единицу мощности пока что был едва ли 1.3 раза в год -- 1 ГФлопс на видюшке был уже в 2008м ( http://www.overclockers.ru/images/soft/2014/03/24/dx/nvidia_1_big.jpg ) , сейчас их 7, теперь предлагаете просто постоять и подождать 20-30 лет? И это если получится техпроцесс улучшать -- с обычными процессорами мы уже упёрлись в бутылочное горлышко фон-неймановской архитектуры, получив увеличение скорости в 2 раза за 5 лет -- и, скорее всего, оно предпоследнее! На видюшках ожидается ускорение от силы в 4 раза за ближайшие 5 лет, они упрутся в скорость видеопамяти, в шины PCI-E и NVLink. Я говорю о другом -- метод грубой силы может и должен использоваться только при избытке вычислительной мощности и неумении строить оптимизированные модели под конкретную задачу. В данной ситуации скорее проблема в том, как при недостатке вычислительной мощности построить эффективные легкоподдерживаемые подсистемы, грамотно использовать доступную обратную связь для увеличения их качества и построить в итоге сложную систему, достигающую действительно отличных результатов. Вы правильно определяете проблему: на текущий момент вся сложность именно в накоплении и использовании обратной связи. Компьютеры глупые, потому что обычные люди не умеют их учить, а компьютеры плохо умеют учиться. (Если бы компьютеры пытались выполнить человеческую работу, то, может, они бы строили модели мира, объединяли их и становились умнее -- но в рамках текущего разделения обязанностей, компьютеры не выполняют те же действия, что и люди, поэтому модели мира у компьютеров донельзя примитивны.)

Ответ на комментарий

Анатолий Левенчук · 25 ноября 2015

Комментарий

Вот поглядите тут, как онтологии используют в Watson: http://ontolog.cim3.net/file/work/OntologySummit2014/2014-01-30_OntologySummit2014_Using-Ontology-Tools-Services-Techniques-1/OntologySummit2014_SemanticWeb-In-Watson_v2-short--ChrisWelty_20140130.pdf Выучивание отнесения к онтологическому классу -- эти работы идут, хотя там есть свои сложности, как и везде. То, что с разными "learning" только-только начинают разбираться (и обратная связь тут даже не самое главное, reinforcement learning не панацея), это так. С моделями мира тоже не всё в порядке: начальные инициализации на правильных "символических" моделях мира -- это непонятно как достижимо сейчас, а сложные архитектуры отнюдь не сводимы к использованию ансаблей моделей. Насчёт мощности в полтора раза за год -- там темпы именно для deep learning побыстрее будут. Чисто на стыке софта и железа там уже несколько раз с цепочкой cuDNN библиотек получили даже не за год, а за 9 месяцев. Я думаю, на полтора раза за год это ещё пару лет подождать нужно, чтобы вышли. Ибо сейчас всё двигается в разгоне существенно быстрее, потенциал для оптимизации очень велик. Но это за три года не более чем в 10 раз, так что пока мало что решает, это правда. Но уже 100 раз было бы ой-ой. И, поскольку, слишком много сил на это направлено, эти 100 раз получат быстрей, чем можно было бы ожидать -- мытьём, катаньем, просто вдруг оно будет во всех магазинах, и всё тут. Лет через пять, я думаю -- суммарно алгоритмы+железо.

Ответ на комментарий

Имя не сохранено · 25 ноября 2015

Комментарий

>Чисто на стыке софта и железа там уже несколько раз с цепочкой cuDNN библиотек получили даже не за год, а за 9 месяцев. Вы знаете, это называется "низколежащие фрукты". На видюшке всё те же 7 тфлопс. Просто год назад средний софт умел её утилизировать в определённых сценариях только на 2 ТФлопс, а теперь умеет на все 7. (Alexnet уже в 2012 умел утилизировать по полной) Вот я сейчас использую neon, у меня при разных настройках для задачи утилизация меняется от 30 до 60% -- на моих GTX 970 это 1.2-2.5 ТФлопс вместо максимальных 4 ТФлопс. Ну и переход на 16 бит вместо 32 можно сделать только один раз -- тогда в принципе можно удвоить скорость на следующем поколении видюшек, должны такие в 2016м выпустить. Но у нейросетей если следующая особенность: при увеличении скорости в 2 раза количество ошибок уменьшается на 5-10%. Т.е. если была точность 95%, станет 95.5%. А если в распознавании объектов было 80% -- то станет 82%. Как только вы удвоите свою базу данных. Так что, как говорится, мечтать не вредно. Вот посмотрите сами, что происходит от года к году, колоночка "Single Precision": https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units#GeForce_900_Series Большая часть прогресса DeepLearning -- это хайп. Верхняя планка достижимого почти не меняется, просто возможность такого использования приходит "в каждый дом".

Ответ на комментарий

Имя не сохранено · 26 ноября 2015

Комментарий

>Вот поглядите тут, как онтологии используют в Watson: http://ontolog.cim3.net/file/work/OntologySummit2014/2014-01-30_OntologySummit2014_Using-Ontology-Tools-Services-Techniques-1/OntologySummit2014_SemanticWeb-In-Watson_v2-short--ChrisWelty_20140130.pdf Jeopardy -- крайне специфичная задача. И у неё крайне специфичные методы решения. Основы конечно общие. EDM (Entity Disambiguation and Matching), например.

Ответ на комментарий

Анатолий Левенчук · 27 ноября 2015

Комментарий

Верхняя планка достижимого не может меняться ежемесячно, эволюция обычно имеет скачки и застои. Просто я не думаю, что застой будет надолго. Ну, и если state of the art быстро-быстро "приходит в каждый дом", это тоже совсем не мало.

Ответ на комментарий