Pull to refresh
0
Randy Cambell @samodum

User

Send message

Скорее всего, галактическая цивилизация найдётся в центре Млечного Пути

Reading time7 min
Views45K


Целимся в центр


Млечному Пути уже 13 миллиардов лет. Некоторые из старейших звёзд нашей Галактики родились почти в самом начале существования Вселенной. И за всё это неизмеримое время нам известна минимум одна технологически развитая цивилизация – наша.

Но если Галактика такая старая, и мы знаем, что она способна порождать жизнь, почему же мы больше ни от кого не получаем весточек? Если какая-нибудь цивилизация появилась бы в Галактике раньше нас всего на 0,1% от возраста последней, они бы опережали нас на миллионы лет – и, вероятно, развились бы куда как сильнее нас. Если мы уже почти готовы заселять другие планеты, не должен ли Млечный Путь кишеть внеземными космическими кораблями и колониями?

Возможно. Но, вероятно, мы просто не там ищем. Недавние компьютерные симуляции Джейсона Райта с коллегами говорят о том, что лучше всего искать освоившие космос цивилизации в центре Галактики. Этот регион остаётся относительно малоисследованным проектами по поиску внеземной жизни.
Total votes 47: ↑43 and ↓4+39
Comments526

Грамматический разбор для естественных языков. Ч.1: Языки описания языков

Reading time4 min
Views5.7K

Исторически первой попыткой формализовать язык и автоматизировать его разбор были регулярные выражения, придуманные С.К. Клейни в 1951. Регулярное выражение составляется из символов языка ("терминалов"), и трёх операций: конкатенация, чередование и замыкание. Для разбора регулярных выражений достаточно ДКА без памяти: разборщик знает, в каком состоянии он находится сейчас, но не помнит ничего о своих прошлых состояниях. Это значит, что языки, допускающие вложенные конструкции — например, язык вложенных скобок (n)n и язык самих регулярных выражений — невозможно описать регулярными выражениями. Естественные языки тоже допускают конструкции неограниченной вложенности ("Вот два петуха, которые будят того пастуха, который бранится с коровницей строгою, которая доит корову безрогую, лягнувшую старого пса без хвоста, который за шиворот треплет кота, который пугает и ловит синицу, которая часто ворует пшеницу, которая в тёмном чулане хранится в доме, который построил Джек."), поэтому для описания естественных языков регулярные выражения недостаточно выразительны.

Более выразительный способ описания языков — формальные грамматики — предложил Н. Чомски в 1956. Предложения на английском довольно неплохо поддаются такому описанию:

Читать далее
Total votes 35: ↑31 and ↓4+27
Comments19

Обман обманщиков: форк-бомба нового уровня

Reading time4 min
Views62K
Сразу предупреждаю: не копируйте примеры кода из этой статьи и не запускайте их в своей командной оболочке.
Есть люди, которые развлекают себя жестокими шутками над новичками, обманом подводя их к запуску разрушительных инструкций в командной оболочке.



Часто это принимает форму грубо замаскированных команд, вроде той, что показана ниже. Её запуск приведёт к выполнению в текущей директории команды rm -rf *, которая всё удалит. Вот эта команда:

$(echo cm0gLXJmICoK | base64 -d)

Много лет назад я наткнулся на людей, которые играли в такие игры, и решил их проучить.
Читать дальше →
Total votes 196: ↑195 and ↓1+194
Comments101

Заблуждения программистов о телефонных номерах

Reading time3 min
Views63K
Список составили разработчики Java, C++ и JavaScript библиотеки libphonenumber для парсинга, форматирования и проверки телефонных номеров

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

1. Телефонные номера, действительные сейчас, останутся действительными всегда. Телефонные номера определённого типа (например, мобильные), никогда не сменят тип.

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

Подсказка. Не сохраняйте свойства телефонного номера, такие как валидность или тип. Проверяйте эту информацию с помощью библиотеки, когда необходимо.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments24

Всё, что нам нужно — это генерация

Reading time10 min
Views28K

Применяем ruGPT-3 в популярных задачах и показываем, зачем языковым моделям триллион параметров


С наступлением 2021 в NLP продолжается гонка «больше — лучше», захватывая новые архитектуры. Пальма первенства самой большой языковой модели в 2020 году принадлежала GPT-3 от OpenAI с 175 миллиардами параметров — но недолго. Модель GShard с помощью Mixture-of-Experts повысила планку до 600 миллиардов параметров, а затем и Google Brain заявил о разработке архитектуры Switch Transformer с 1,6 триллионами параметров (и тоже является MoE). Насколько повышение результатов за счет объема полезно для индустрии? Тот же Switch Transformer с его триллионом параметров далеко не на 1 месте в лидербордах.

Огромные языковые модели (Enormous Language Models, теперь это термин, им посвящен отдельный воркшоп конференции ICLR 2021) показывают действительно интересные результаты — не только в традиционных задачах ML, но и в новых сферах применения: генерации всего того, что раньше генерировать без ошибок было нельзя — музыку, изображения попиксельно, программный код и т.д. Из всех традиционных форм NLP-задач — классификация, классификация элементов последовательности, seq2seq, — по сути, у нас остается только одна: seq2seq. С приходом больших языковых моделей все задачи NLP сводятся теперь к форме генерации, при должном качестве этой самой генерации.

Seq2seq — самая «человеческая» форма решения задач: человек использует тот же формат,  отвечая на сообщения в чате, общаясь устно, сортируя имейлы в почте.  

  • Лично нам в SberDevices не терпелось поскорее применить такой формат к различным задачам — поэтому мы открываем доступ к самой большой русскоязычной нейросети ruGPT-3 XL с 1,3 млрд параметров. 

Инженерный запал вылился в кропотливую работу по распараллеливанию обучения, очистке данных и тестированию. Но зато… теперь в open-source модель ruGPT-3 XL с 1,3 млрд параметров!



А также ее публичное API:


Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments80

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

Reading time7 min
Views398K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Постановка задачи


Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
Читать дальше →
Total votes 198: ↑196 and ↓2+194
Comments120

Open Source синтез речи SOVA

Reading time9 min
Views21K

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



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

Total votes 31: ↑30 and ↓1+29
Comments24

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ

Reading time10 min
Views172K
Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10 лет только в области обработки естественного языка (Natural language processing, NLP) произошли уже две настоящие технологические революции. Появившаяся в результате второй из них модель GPT-3 произвела настоящий фурор не только в технологических медиа, но стала знаменитой далеко за пределами научного сообщества. Например, GPT-3 написала для издания «The Guardian» эссе о том, почему ИИ не угрожает людям. GPT-3 сочиняет стихи и прозу, выполняет переводы, ведёт диалоги, даёт ответы на вопросы, хотя никогда специально не училась выполнять эти задачи. До недавних пор все возможности GPT-3 могли по достоинству оценить лишь англоязычные пользователи. Мы в Сбере решили исправить эту досадную оплошность. И сейчас расскажем вам, что из этого получилось.


Источник изображения
Читать дальше →
Total votes 165: ↑160 and ↓5+155
Comments241

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Reading time2 min
Views71K
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Total votes 135: ↑132 and ↓3+129
Comments202

Разбираемся с моделью машинного обучения, которая ломает CAPTCHA

Reading time9 min
Views3K
Всем привет! В этом месяце OTUS набирает новую группу по курсу «Machine Learning». По устоявшейся традиции, в преддверии старта курса, делимся с вами переводом интересного материала по теме.



Компьютерное зрение – одна из самых актуальных и исследуемых тем ИИ [1], однако нынешние методы решения проблем с помощью сверточных нейронных сетей подвергаются серьезной критике вследствие того, что такие сети легко обмануть. Дабы не быть голословным, расскажу о нескольких причинах: сети этого типа выдают неверный результат с высокой уверенностью для естественно возникающих изображений, которые не содержат статистических сигналов [2], на которые полагаются сверточные нейронные сети, для изображений, которые ранее были ранее классифицированы правильно, но в которых изменился один пиксель [3] или изображения с физическими объектами, которые были добавлены на сцену, но не должны были изменять результат классификации [4]. Дело в том, что, если мы хотим создать по-настоящему интеллектуальные машины, нам должно казаться разумным вкладывать усилия в изучение новых идей.

Одной из таких новых идей является применение компанией Vicarious рекурсивных кортикальных сетей (Recursive Cortical Network, RCN), которые черпают вдохновение в нейробиологии. Эта модель претендовала на то, чтобы чрезвычайно эффективно ломать текстовую капчу, тем самым вызвав вокруг себя много разговоров. Поэтому я решил написать несколько статей, каждая из которых объясняет определенный аспект этой модели. В этой статье мы поговорим о ее структуре и о том, каким образом происходит генерация изображений, представленных в материалах основной статьи о RCN [5].
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments1

Парсер данных по произвольной грамматике в 400 строк

Reading time33 min
Views12K

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


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


Будем делать парсер для грамматик в ANTLR-like виде. Вот в таком:


C:
    | A1? A2* A3
    | B1? B2+ B3
;

Делать будем на языке PHP. А если получится нормально, перепишем на C++.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments51

Принципы SOLID в картинках

Reading time4 min
Views412K


Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.

В Сети множество отличных статей, где рассказывается о принципах SOLID, но иллюстрированных среди них мне практически не попадалось. Из-за этого таким людям со склонностью к визуальному восприятию информации – таким, как я – бывает сложно схватывать суть и не отвлекаться.

Основная цель этой статьи – лучше усвоить принципы SOLID через отрисовку иллюстраций, а также определить назначение каждого принципа. Дело в том, что некоторые из принципов кажутся похожими, но функции выполняют разные. Может получиться так, что одному принципу следуешь, а другой при этом нарушаешь, хотя с виду особой разницы между ними нет.

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

Ну, приступим.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments26

BLE под микроскопом (ATTы GATTы...)

Reading time10 min
Views27K
image

BLE под микроскопом (ATTы GATTы...)

Часть 1, обзорная

Уже прошло довольно большое время, с тех пор, когда вышла первая спецификация на Bluetooth 4.0. И, хотя тема BLE очень интересна, она до сих пор отталкивает многих разработчиков, из-за своей сложности. В своих предыдущих статьях я рассматривал в основном самый нижний уровень Link Layer и Physical Layer. Это позволяло не обращаться к таким сложным и запутанным понятиям как протокол атрибутов(ATT) и общий профиль атрибутов (GATT). Однако деваться некуда, не понимая их, невозможно разрабатывать совместимые устройства. Сегодня я хотел бы поделиться с вами этими знаниями. В своей статье я буду опираться на учебник для начинающих с сайта Nordic-а. Итак, давайте приступим.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments20

Mobile ML: машинное обучение в кармане. Часть 1 — Железо

Reading time3 min
Views4.5K

Автор: Андрей Батутин, Senior iOS Developer в DataArt

Сегодня все делают Machine Learning, включая наши телефоны. Да, скоро ваш телефон станет по настоящему смарт. Ну или по крайней мере, умнее нас с вами. Почему? Сейчас разберемся. Начнем с железа, уже установленного в мобильных устройствах.

TL;DR


Все основные производители мобильных System-on-chip (SoC) уже 3-4 года активно добавляют ML-specific hardware в свои решения. Если у вас топовый андроид или айфон, рядом с GPU у вас почти гарантированно есть чип, специально заточенный под ML-задачи.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments2

Реальная стоимость жизни в Кремниевой Долине для разработчика

Reading time5 min
Views153K

Зачем это читать?


Всем привет! Меня зовут Винсент, и я с 2018 года живу в Кремниевой Долине со своей супругой и сыном.


Своим фильмом, Дудь хотел поднять стартапный ажиотаж в России, но в итоге возбудил всех моих товарищей гораздо больше здесь, в Silicon Valley.


Этот пост — расчет стоимости жизни "обычного разработчика" (не "стартапера"), который работает "на дядю". Все максимально честно и подробно.

Читать дальше →
Total votes 278: ↑269 and ↓9+260
Comments902

MNT Reform — Полностью открытый ноутбук для параноиков

Reading time3 min
Views59K


MNT Reform — самый открытый ноутбук для параноиков из когда-либо созданных. Вся схемотехника плат, загрузчик и драйвера открыты, в нем нет веб-камеры, а в качестве батареи заменяемые банки 18650. Настоящее торжество красноглазия.

Используется ARM процессор i.MX8 в виде готового SoM (system on module) с полностью пассивным охлаждением и всего 4GB оперативной памяти.
Читать дальше →
Total votes 79: ↑76 and ↓3+73
Comments129

RabbitMQ. Часть 2. Разбираемся с Exchanges

Reading time7 min
Views155K

Exchange — обменник или точка обмена. В него отправляются сообщения. Exchange распределяет сообщение в одну или несколько очередей. Он маршрутизирует сообщения в очередь на основе созданных связей (bindings) между ним и очередью.


Exchange не является Erlang-процессом. Из соображений масштабируемости exchange — это строка (ссылка на модуль с кодом, где лежит логика маршрутизации) во встроенной базе данных mnesia. 1 тысяч обменников будут потреблять всего 1МБ памяти.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments10

Тайная жизнь Linux сервера или веерная брутфорс атака на подсистему SSH

Reading time18 min
Views41K

Сегодня мой внешний IP был заблокирован в сервисе IVI с сообщением


Ваш ip-адрес идентифицируется как анонимный. 
Пожалуйста, обратитесь к своему интернет-провайдеру. IP адрес <IP>.
Данные предоставлены maxmind.com
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments163

Дайджест новостей машинного обучения и искусственного интеллекта за октябрь

Reading time3 min
Views8.1K
Привет, Хабр! Отфильтровав для вас большое количество источников и подписок, собрал все наиболее значимые новости из мира машинного обучения и искусственного интеллекта за октябрь. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие новости.

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

Итак, а теперь дайджест за октябрь:

1. Фотореалистичная 3D-модель человека выступила на TED. Нейросеть динамически восстанавливает 3D-модель человека на основе распознавания движения лицевых мышц. С помощью данных с камеры нейросеть распознает и восстанавливает эмоции и действия человека.

Total votes 61: ↑58 and ↓3+55
Comments5

Yandex maps для приложения Такси

Reading time4 min
Views7.7K
Для большинства приложений, которые используют работу с геопозицией, картами и маршрутами, я предпочитаю Google Maps. Потому как Google Maps имеет обширный набор функций, хорошую документацию, а также отличный mapkit для реализации любых визуальных и программных идей. К большому сожалению Google Maps не является панацей для реализации всех возможных задач. Проблема заключается в том что имеются местности, города и т.д., которые не до конца изучены компанией, и ввиду этого могут отсутствовать номера домов и даже целые улицы.
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Сербия
Registered
Activity