LINUX.ORG.RU

Международный чемпионат по искусственному интеллекту

 ,


1

0

Опубликованы результаты международного чемпионата в области AI, организованного в университете Ватерлоо (Канада), при спонсорской поддержке Google. Приятно было увидеть в числе финалистов несколько представителей из России. Удивительным оказался тот факт, что среди победителей, попавших в top10, все 100% использовали язык C++.

>>> Подробности



Проверено: boombick ()
Последнее исправление: hibou (всего исправлений: 1)

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

>Что-то мне подсказывает, что при одинаковых входных параметрах, одинаковой структуре и, как следствие, одинаковом количестве эпох нейронная сеть, реализованная в терминах матричной алгебры на Си, 100% уделает по скорости обучения и работы аналоги на Смолтоке и, возможно, Лиспе.

Нейронные сети слишком распиарены. Неслышал ни об одной реально работающей распознающей системе основанной на них.

Waterlaz ★★★★★
()
Ответ на: комментарий от yoghurt

> Скорость разработки же будет примерно одинаковой что там, что там.

Да ну! Смоллтолк реально видели? Не на картинке. Или в ВАшем радиотехническом куль-универе в курилке кульхацкеры про Cмолток ВАм рассказали?

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

>> 100% использовали язык C++

Лугоффского на них нет!


да ващее.. быдлы одни кругом.

CL-USER
()
Ответ на: комментарий от Waterlaz

> Нейронные сети слишком распиарены. Неслышал ни об одной реально работающей распознающей системе основанной на них.

Любое распознавание текста / номеров на машинах / т.д.? Поиск фич на спутниковых снимках?

faustus
()
Ответ на: комментарий от faustus

>Любое распознавание текста / номеров на машинах / т.д.? Поиск фич на спутниковых снимках?

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

Waterlaz ★★★★★
()

Контрольное тестирование на блондинке производилось?

Valeg ★★★
()
Ответ на: комментарий от siberean

> У него процессинг идёт 3 дня, у меня - 1.5 часа. Интересно было-бы посмотреть - сколько бы мучался лиспер и какова бы была производительность... (обработка больших массивов, много процессинга, много IO, нельзя хранить много в памяти - никакой памяти не хватит: всё делается на стримах, инкрементальный парсинг, так сказать).

что за процессинг такой?

мой опыт говорит, что SQL + императив быстрее лопатят связанные и нормализованные данные. И только если вход - простой и выход тоже простой, то алгоритмы вне СУБД будут быстрее.

VoDA ★★
()
Ответ на: комментарий от annulen

>>Нейросети - это так... слабо применимая экзотика.

4.2

Я понимаю, что это у вас у всех на слуху. Нохоть где-то вы знаете о реальном применении нейросетей в распознавании образов? Или только слышали, как это круто?

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz

> Нет там нейронных сетей. В большинстве случаев так точно. Нейросети - это так... слабо применимая экзотика.

А что используется? Всякие Марков-модели? LCS? Bayesian networks?

faustus
()
Ответ на: комментарий от Waterlaz

То есть Machine Learning не нужен? А пацаны-то и не знают! :3

faustus
()
Ответ на: комментарий от faustus

>> Нет там нейронных сетей. В большинстве случаев так точно. Нейросети - это так... слабо применимая экзотика.

А что используется? Всякие Марков-модели? LCS? Bayesian networks?

Двумерное обобщение контекстно-свободных грамматик, (OR, AND) и (max, +) задачи.

Waterlaz ★★★★★
()

Пытон прорывается с боем на всех фронтах, кстати говоря

darkshvein ☆☆
()
Ответ на: комментарий от archimag

>Открою большой секрет: символьные вычисления, являющиеся одной из самых сильных сторон лиспа, не имеют никакого отношения к алгебре...

О ты чорт. Я даже согласен. не аналитика нифига

demmsnt
()

А по делу, фичреквест есть. Тут все больно грамотные я смотрю, но все сводится к недоказательному спору. Ну так хорошо нейронные сети не айс. Делаем раздел ЛОРа, там тег НЕЙРОННЫЕ сети. и все кто пишут что для этого не айс ссылаются на чтонибудь или пишут свое обоснование и наоборот. Ну я думаю тут просто курилка потому идея не рабочая. Но ссылки попадаются занятные.

Например пролог я знаю поверхностно, на уровне 2-х дней чтения. А почитать по нему и нечего. Есть много книжек занюханных годов. Есть рассуждения в крилках, но реальных примеров применения почти нет.

demmsnt
()

Ну и по теме. Соревновался кто? молодежжжжж. А уже прошел период компьютерного вау. Сейчас учат в основном то, что приносит деньги. А C++, Java и C# приносят их. (как правило, не прогерам). Java имеет очень большую библиотеку (как и C#) и зачастую решение задачи состоит в поиске наиболее выгодных структур и алгоритмов из библиотеки. А с C++ велосипедостроение получше. И отсюда и изобретательность умов. А остальные по ошибке на конкурс попали. Просто оцените объем массового когда по языкам.

demmsnt
()
Ответ на: комментарий от Waterlaz

> Двумерное обобщение контекстно-свободных грамматик, (OR, AND) и (max, +) задачи.

Это любимые подходы Киевской школы распознавания, если я не ошибаюсь. Не удивлюсь, если разработчики систем в анализа авт. в Москве про них и не слышали >_<

sv75 ★★★★★
()
Ответ на: комментарий от demmsnt

> Например пролог я знаю поверхностно, на уровне 2-х дней чтения. А почитать по нему и нечего. Есть много книжек занюханных годов. Есть рассуждения в крилках, но реальных примеров применения почти нет.

Возможно потому, что в реальных задачах проще часто написать аналог вывода пролога на С++, там где это удобно. Пролог довольно надёжно мёртв.

sv75 ★★★★★
()
Ответ на: комментарий от sv75

>Это любимые подходы Киевской школы распознавания, если я не ошибаюсь. Не удивлюсь, если разработчики систем в анализа авт. в Москве про них и не слышали >_<

В точку =) Но наверное это скорее про грамматики верно. А вот (max, +) - это глобально и надежно.

Waterlaz ★★★★★
()
Ответ на: комментарий от sv75

> Это любимые подходы Киевской школы распознавания, если я не ошибаюсь. Не удивлюсь, если разработчики систем в анализа авт. в Москве про них и не слышали >_<

Ну я вот прочитал «Двумерное обобщение контекстно-свободных грамматик». Подумал. Перевел на английский: 2D CFG. Снова подумал. И все равно бессмыслица. Про "(OR, AND) и (max, +) задачи" слышу первый раз в жизни.

faustus
()
Ответ на: комментарий от VoDA

2 VoDA

просчёт всего и вся. Математика (суммирование по куче формул, проценты, округления, распределение остатков, так как балланс должен быть абсолютно точным итд), но сильно завязанная на массе джойнов. Собираем отовсюду, переливаем, булькаем итд. На базе многих правил. Скорее всего, PLSql-щик намудрил. хотя опытный товарищ. Я делал джойны в рекурсивных хэш-таблицах, на лету (всё равно данные качаются те-же час - полтора, без процессинга).
Т.е. у меня и поток и процессинг идут параллельно. Я в его проблемы не влазил, у меня своих достаточно (базу он локальную тоже пробовал - тот же эффект, ну пара дней).
Из чего я заключаю, что мой подход стримов и поддержки машины состояний, т.е. парсинг на-лету не совсем отстоен (я тоже раньше на PLSQL много чего делал, в принципе проблем нет. и считал, что чем ближе к базе, чем ниже уровень - тем эффективнее. Но ведь ясно, что джойны в памяти, оптимизированные под задачу - будут всегда быстрее, чем там в ораклах для общего случая сделали, со всеми там локами). Нет, вы не подумайте - не совсем уж чайники: все индексы, всё там вроде создано как положено. Ну разве что специально под задачу может ораклы не крутили и с саппортом не связывались.

anonymous
()
Ответ на: комментарий от sv75

>Возможно потому, что в реальных задачах проще часто написать аналог вывода пролога на С++, там где это удобно. Пролог довольно надёжно мёртв.

Мы тут спорили ООП GTK или не OOP. Так вот, чтоб понять что он ООП, надо сначала попробовать писать на ООП. И вто, же время C++ может нам помочь писать в стиле пролога только если мы писали на прологе, тоесть были ограничены этим стилем. Вот. Поэтому очень грустно что он мертв

demmsnt
()
Ответ на: комментарий от Waterlaz

> Нейросети - это так... слабо применимая экзотика.

не правы.

Нет возможности написать алгоритмически - когда алгоритм неизвестен. Например - даже 3-летний ребёнок способен отличить женщину от мужчины на фотке, но алгоритмически - вы этого никак не зададите. Нет таких правил.

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

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

anonymous
()

Слегка погуглил. Вот здесь, например, все понятно:

Automatic recognition of man-made objects in high resolution optical remote sensing images by SVM classification of geometric image features http://linkinghub.elsevier.com/retrieve/pii/S092427160700055X

SVM он и в африке SVM. Даже не трехмерный! Кстати, "(OR, AND) и (max, +) задачи" это же наверняка SAT-извращения. Трюкачи!

faustus
()
Ответ на: комментарий от faustus

>Ну я вот прочитал «Двумерное обобщение контекстно-свободных грамматик». Подумал. Перевел на английский: 2D CFG. Снова подумал. И все равно бессмыслица.

Что значит бессмыслица?

Про "(OR, AND) и (max, +) задачи" слышу первый раз в жизни.

В англоязычной литературе они могут как-то по другому называться.

Waterlaz ★★★★★
()

Это я к чему. Пусть человек мыслящий на язык допускающем 21 время и отличающем род и прочие штуки и с словами не длиннее 4 созвучий может выразить проблему не более чем 5 словами, это даст ему огромное преимущество (ибо постановка задачи 90% её решения) живет в мире англоязычном. Да он будет в уме решать задачи гораздо быстрее остальных. Но: 1) Еу надо сначала сделать перевод с английскго. 2) решить задачу 3) Сделать обратный перевод. И вот тут проблема. Потеря смолтока для нас это ег ранние GUI корни. GUI и сейчас там на высоте, но кто, во что горазд и дизайна 0. Но это не умалет самих заслуг смолтока. Покажите Squeak инвестору - психушка.

demmsnt
()
Ответ на: комментарий от Waterlaz

> Что значит бессмыслица?

Я имею в виду - для меня бессмыслица. Т.е. не общепринятый термин вроде ANN, POMDP, SVM, LCS, ...

В англоязычной литературе они могут как-то по другому называться.

(OR,AND) - речь о булевых формулах в формате SAT? У нас на кафедре один профессор очень любит все решать через SAT. Причем на прологе!

faustus
()
Ответ на: комментарий от Bioreactor

>Смоллтолк реально видели?

2 года уже только и делаю что вижу

Не на картинке

Угу

в курилке

Не курю

кульхацкеры про Cмолток ВАм рассказали?

Обычно это я им рассказываю :)

yoghurt ★★★★★
()
Ответ на: комментарий от faustus

>(OR,AND) - речь о булевых формулах в формате SAT?

Нет.. Звучит она так: для заданных множеств T, K и функции g(t1, t2, k1, k2) (g: TxTxKxK -> {0,1}) найти существует ли функция f:T -> K такая, что

AND g(t1, t2, f(t1), f(t2))

t1,t2 из T

Waterlaz ★★★★★
()
Ответ на: комментарий от yoghurt

>yoghurt

Ой - Magritte и генерация, так Zope-же. Я щас какраз тем-же занят. Только на сугубо личной инициативе. Там уже есть построение по интерфейсам форм и прочего.

demmsnt
()
Ответ на: комментарий от demmsnt

>Покажите Squeak инвестору - психушка.

Надо Pharo показывать :)

yoghurt ★★★★★
()

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

                c++     cl
2800...2849     1       0                                    _|
2750...2799     0       0                                     |
2700...2749     6       0                               ______|
2650...2699     5       1                                _____|_
2600...2649     6       0                               ______|
2550...2599     11      1                          ___________|_
2500...2549     12      0                         ____________|
2450...2499     9       0                            _________|
2400...2449     12      0                         ____________|
2350...2399     7       0                              _______|
2300...2349     7       0                              _______|
2250...2299     7       1                              _______|_
2200...2249     9       0                            _________|
2150...2199     8       1                             ________|_
2100...2149     10      2                           __________|__
2050...2099     14      1                       ______________|_
2000...2049     9       1                            _________|_
1950...1999     15      0                      _______________|
1900...1949     19      1                  ___________________|_
1850...1899     17      2                    _________________|__
1800...1849     13      0                        _____________|
1750...1799     19      0                  ___________________|
1700...1749     12      0                         ____________|
1650...1699     11      0                          ___________|
1600...1649     4       0                                 ____|
1550...1599     1       0                                    _|
1500...1549     1       0                                    _|
1450...1499     0       0                                     |
1400...1449     1       0                                    _|
1350...1399     0       0                                     |
1300...1349     0       0                                     |
1250...1299     1       0                                    _|
1200...1249     0       0                                     |
1150...1199     0       0                                     |
1100...1149     0       0                                     |
total           247     11
www_linux_org_ru ★★★★★
()

а вот с++ против явы

2800...2849     1       0                          _|
2750...2799     0       0                           |
2700...2749     6       0                     ______|
2650...2699     5       0                      _____|
2600...2649     6       0                     ______|
2550...2599     11      0                ___________|
2500...2549     12      0               ____________|
2450...2499     9       0                  _________|
2400...2449     12      1               ____________|_
2350...2399     7       2                    _______|__
2300...2349     7       1                    _______|_
2250...2299     7       0                    _______|
2200...2249     9       0                  _________|
2150...2199     8       0                   ________|
2100...2149     10      9                 __________|_________
2050...2099     14      6             ______________|______
2000...2049     9       12                 _________|____________
1950...1999     15      19           _______________|___________________
1900...1949     19      14       ___________________|______________
1850...1899     17      12         _________________|____________
1800...1849     13      15             _____________|_______________
1750...1799     19      9        ___________________|_________
1700...1749     12      11              ____________|___________
1650...1699     11      37               ___________|_____________________________________
1600...1649     4       23                      ____|_______________________
1550...1599     1       2                          _|__
1500...1549     1       1                          _|_
1450...1499     0       0                           |
1400...1449     1       0                          _|
1350...1399     0       0                           |
1300...1349     0       0                           |
1250...1299     1       0                          _|
1200...1249     0       1                           |_
1150...1199     0       0                           |
1100...1149     0       0                           |
total           247     175
www_linux_org_ru ★★★★★
()

лисп и хаскель

2800...2849     0       0                                     |
2750...2799     0       0                                     |
2700...2749     0       0                                     |
2650...2699     1       0                                    _|
2600...2649     0       0                                     |
2550...2599     1       0                                    _|
2500...2549     0       0                                     |
2450...2499     0       1                                     |_
2400...2449     0       1                                     |_
2350...2399     0       2                                     |__
2300...2349     0       0                                     |
2250...2299     1       2                                    _|__
2200...2249     0       2                                     |__
2150...2199     1       0                                    _|
2100...2149     2       1                                   __|_
2050...2099     1       1                                    _|_
2000...2049     1       2                                    _|__
1950...1999     0       1                                     |_
1900...1949     1       2                                    _|__
1850...1899     2       1                                   __|_
1800...1849     0       4                                     |____
1750...1799     0       10                                    |__________
1700...1749     0       1                                     |_
1650...1699     0       0                                     |
1600...1649     0       0                                     |
1550...1599     0       0                                     |
1500...1549     0       0                                     |
1450...1499     0       0                                     |
1400...1449     0       0                                     |
1350...1399     0       0                                     |
1300...1349     0       0                                     |
1250...1299     0       0                                     |
1200...1249     0       0                                     |
1150...1199     0       1                                     |_
1100...1149     0       0                                     |
total           11      32

www_linux_org_ru ★★★★★
()

с++ и питон

2800...2849     1       0                          _|
2750...2799     0       0                           |
2700...2749     6       0                     ______|
2650...2699     5       0                      _____|
2600...2649     6       0                     ______|
2550...2599     11      1                ___________|_
2500...2549     12      3               ____________|___
2450...2499     9       2                  _________|__
2400...2449     12      5               ____________|_____
2350...2399     7       2                    _______|__
2300...2349     7       2                    _______|__
2250...2299     7       5                    _______|_____
2200...2249     9       2                  _________|__
2150...2199     8       2                   ________|__
2100...2149     10      9                 __________|_________
2050...2099     14      4             ______________|____
2000...2049     9       6                  _________|______
1950...1999     15      20           _______________|____________________
1900...1949     19      11       ___________________|___________
1850...1899     17      9          _________________|_________
1800...1849     13      14             _____________|______________
1750...1799     19      6        ___________________|______
1700...1749     12      3               ____________|___
1650...1699     11      11               ___________|___________
1600...1649     4       6                       ____|______
1550...1599     1       0                          _|
1500...1549     1       0                          _|
1450...1499     0       0                           |
1400...1449     1       0                          _|
1350...1399     0       0                           |
1300...1349     0       0                           |
1250...1299     1       2                          _|__
1200...1249     0       2                           |__
1150...1199     0       0                           |
1100...1149     0       0                           |
total           247     127

www_linux_org_ru ★★★★★
()

ява и сишарп

2800...2849     0       0                                            |
2750...2799     0       0                                            |
2700...2749     0       0                                            |
2650...2699     0       0                                            |
2600...2649     0       1                                            |_
2550...2599     0       1                                            |_
2500...2549     0       4                                            |____
2450...2499     0       7                                            |_______
2400...2449     1       1                                           _|_
2350...2399     2       3                                          __|___
2300...2349     1       2                                           _|__
2250...2299     0       3                                            |___
2200...2249     0       2                                            |__
2150...2199     0       0                                            |
2100...2149     9       3                                   _________|___
2050...2099     6       4                                      ______|____
2000...2049     12      3                                ____________|___
1950...1999     19      5                         ___________________|_____
1900...1949     14      4                              ______________|____
1850...1899     12      7                                ____________|_______
1800...1849     15      0                             _______________|
1750...1799     9       7                                   _________|_______
1700...1749     11      2                                 ___________|__
1650...1699     37      2       _____________________________________|__
1600...1649     23      1                     _______________________|_
1550...1599     2       0                                          __|
1500...1549     1       1                                           _|_
1450...1499     0       0                                            |
1400...1449     0       0                                            |
1350...1399     0       0                                            |
1300...1349     0       0                                            |
1250...1299     0       0                                            |
1200...1249     1       0                                           _|
1150...1199     0       0                                            |
1100...1149     0       0                                            |
total           175     63

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от VoDA

2 VoDA

забыл сказать самое главное:
«наливания - переливания» - это было большей частью много «group by» по многим критериям на многомиллионных базах, где много like и часть - в виде регулярных выражений. Т.е. склоняюсь всё-же к тому, что у него кривые руки. Видимо, он в какой-то другой explain смотрел и не делал аудит (нехорошо).
Оракл делает full-scan когда видит like.
Для like наверное надо было alter table на единичные цыфры, индексировать по каждому полю, чтобы избавится от многократных полных сканов многомиллионных записей. А вот что сделать с регулярными выражениями - не знаю.
Я-то даже кешил компилированные регэкспы и группировал всё только один раз (он же скорее всего создавал сотни временых таблиц и переливал из одной в другую, да многократно реюзил одни и те-же дорогие запросы).

Короче, всё это ерунда, всё зависит от задачи. Написал это, чтобы продемонстрировать, что не всё можно сделать эффективно в базе, даже если она не загружена.

anonymous
()

а где прогеры на perl'е? си плас пласы испугались и не пустили их.. до до..

m13rror
()
Ответ на: комментарий от faustus

> Так гласит догма. Но тем не менее, прочитав книжку «On Lisp» одного широко известного в узких кругах гуру сетевого start-up-маркетинга, каких-либо ярких и годных примеров использования макросов я в ней не узрел.

Нет, сужу по собственному небольшому опыту. До Грема, правда, еще не добрался. Застрял на середине SICP.

Вот, захотелось мне добавить в CL синтаксический сахар для монад по типу нотации do. Сделал. Через макросы. Довольно удобно. Потом возникла задача сделать объявление переменной взаимно-рекурсивным как в схеме. Тоже сделал. Опять же через макросы. Далее захотел задать дифф.-уры с обратными взаимно-рекурсивными связями декларативно, не указывая напрямую порядок зависимости и частично имитируя ленивость по типу хаскеля. Снова помогли макросы. И каждый раз эти макросы позволяли мне думать уже в терминах задачи, а не в терминах реализации. То есть, повышение уровня абстракции было очевидным и иногда поразительным. Я просто расширял язык.

dave ★★★★★
()
Ответ на: комментарий от archimag

>> Лисп рулил (и до сих пор рулит) в другой связанной с AI областью -

computer algebra systems, то бишь, символьная математика.

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

Тогда открою еще больший :) Имеют. Там до черта алгебры.

dave ★★★★★
()
Ответ на: комментарий от siberean

siberean> А из лиспа и плюсов, человек _знающий_ оба - выберет, разумеется, второй (для задачи, пусть не такой сложной, но отличной от простых примеров, даваемых в универе, которую надо усложнять, да чтобы эффективность программирования не падала)

Ты хоть C++ знаешь? Он офигенно сложный без причин. Лисп значительно проще, и позволяет решать задачи любой сложности за счёт изначально заложенной расширяемости.

siberean> Когда же побьёшь на кусочки и соединишь каким-то клеем - красота аналитики (на которую напирают академические лисперы) исчезнет и может превратится в костыли

Может ты линуксом ещё как вендой пользуешься? На принципиально разных языках программирования надо использовать разные принципы программирования.

Quasar ★★★★★
()
Ответ на: комментарий от archimag

archimag> Открою большой секрет: символьные вычисления, являющиеся одной из самых сильных сторон лиспа, не имеют никакого отношения к алгебре...

Не путай символьные и численные вычисления.

Quasar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.