Grenade: программирование искусственного интеллекта на Haskell

Deep Learning сейчас в моде. Да, серьезных проектов, которые могли бы убедительно продемонстрировать достижения в области искусственного интеллекта по-прежнему нет. Но есть сервисы, стилизующие фотки под картины художников и куча фреймворков для программирования AI. Хайп раздут маркетологами отменный. Программисты на функциональном языке Haskell, разумеется, не могли пройти мимо и запилили свой собственный фрэймворк Grenade.

Grenade: Practical Deep Learning in Haskell

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


data Network :: [*] -> [Shape] -> * where
NNil :: SingI i
=> Network '[] '[i]

(:~>) :: (SingI i, SingI h, Layer x i h)
=> !x
-> !(Network xs (h ': hs))
-> Network (x ': xs) (i ': h ': hs)

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

Авторы протестировали свое детище на наборе данных от Kaggle и остались весьма довольны. Узнать подробности и заценить фрагменты кода ИИ в функциональном стиле можно здесь.

field_vote: 
Ваша оценка: Нет Средняя: 5 (3 оценки)
Программное обеспечение: 

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.