Будущее уже здесь — AlphaZero учится шахматам



Представьте себе: вы сообщаете компьютерной системе, как двигаются фигуры, и ничего более. Затем вы говорите ему научиться играть в эту игру. А через сутки — да, всего за 24 часа — разобрался до уровня, убедительно обыгрывающего сильнейшие программы мира! Компания DeepMind, которая недавно создала самую сильную в мире программу Го, обратила внимание на шахматы и добилась впечатляющего результата.

5 декабря группа DeepMind опубликовала на сайте Корнельского университета новую статью под названием Овладение шахматами и сёги путем самостоятельной игры с помощью общего алгоритма обучения с подкреплением», и результаты оказались не чем иным, как ошеломляющий. AlphaZero сделала больше, чем просто освоила игру, она достигла новых высот способами, которые считались немыслимыми. Тест, конечно же, в пудинге, поэтому, прежде чем углубляться в некоторые увлекательные мельчайшие детали, давайте перейдем к делу. Он сыграл матч против последней и лучшей версии Stockfish и выиграл с невероятным счетом 64 : 36, и не только это, у AlphaZero было ноль поражений (28 побед и 72 ничьи)!

Stockfish не нуждается в представлении читателям ChessBase, но стоит отметить, что программа была установлена ​​на компьютере, который работал почти в 900 раз быстрее! Действительно, AlphaZero вычисляла примерно 80 тысяч позиций в секунду, в то время как Stockfish, работающий на ПК с 64 потоками (скорее всего, на 32-ядерной машине), работал со скоростью 70 миллионов позиций в секунду. Чтобы лучше понять, насколько велик этот дефицит, скажем, что если бы другая версия Stockfish работала в 900 раз медленнее, это было бы примерно на 8 шагов меньше в глубину. Как это возможно?

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

Кейс для изученных индексных структур



Индексы — это модели: B-Tree-Index можно рассматривать как модель для сопоставления ключа с позицией записи в отсортированном массиве, Hash-Index — как модель для сопоставления ключа с позицией записи в пределах отсортированного массива. несортированный массив и BitMap-Index в качестве модели, указывающей, существует запись данных или нет. В этом предварительном исследовании мы исходим из этой предпосылки и утверждаем, что все существующие структуры индексов можно заменить другими типами моделей, включая модели глубокого обучения, которые мы называем обученными индексами. Основная идея заключается в том, что модель может узнать порядок сортировки или структуру ключей поиска и использовать этот сигнал для эффективного прогнозирования положения или существования записей. Мы теоретически анализируем, при каких условиях изученные индексы превосходят традиционные структуры индексов, и описываем основные проблемы при разработке структур изученных индексов. Наши первоначальные результаты показывают, что с помощью нейронных сетей мы можем превзойти B-деревья, оптимизированные для кеша, на 70% по скорости, сохраняя при этом порядок величины в памяти для нескольких реальных наборов данных. Однако, что еще более важно, мы считаем, что идея замены основных компонентов системы управления данными с помощью изученных моделей имеет далеко идущие последствия для будущих системных проектов, и что эта работа просто дает представление о том, что может быть возможно.

  • Джефф Дин и другие сотрудники Google выпускают еще одну статью. Многие из предыдущих статей, опубликованных Джеффом и его командой, оказали значительное влияние на технологическую индустрию (осознаете вы это или нет).

Поиск ошибок в коде Haskell путем их доказательства



Десять месяцев назад я пожаловался, что нет хорошего способа проверить код на Haskell (и придумал отличный хак ghc-proofs). Но с тех пор все изменилось, когда группа в UPenn (в основном Антал Спектор-Забуски, Стефани Вейрих и я) создала hs-to-coq: переводчик с Haskell на средство доказательства теорем Coq.

Мы использовали hs-to-coq на различных примерах, как описано в нашей статье CPP'18, но пришло время использовать это на практике. Самый простой способ использовать hs-to-coq на данный момент — это клонировать репозиторий, скопировать один из каталогов с примерами (например, examples/successors), поместить туда файл Haskell для проверки и указать правильное имя модуля в файле Makefile. Я также закомментировал части файла Haskell, которые будут перетаскивать небазовые зависимости.

  • Когда-нибудь я надеюсь проверить свой код с помощью доказательств. У меня есть способы работать с этими языками, прежде чем я буду чувствовать себя даже отдаленно комфортно.
  • Тем не менее, я сделал хороший кусок книги Идриса (Разработка, управляемая шрифтом с Идрисом), и это чертовски здорово, что вы можете сделать. Даже такие простые вещи, как определение ограничений для списков, весьма полезны.

Что означает «Правило 40 на ранней стадии»



Что означает «Правило 40 на ранней стадии
За последние несколько лет появилось множество статей о Правиле 40, в которых описывается компромисс между…medium.com»



За последние несколько лет появилось множество статей о «Правиле 40», в котором описывается компромисс между ростом и прибыльностью для компаний-разработчиков программного обеспечения:

Темпы роста плюс прибыль должны быть больше или равны 40%.

Генеральным директорам и руководящим командам приходится выбирать разные направления (выходить на более высокие или низкие рынки, когда выходить на соседние рынки и т. д.), но один из фундаментальных вопросов заключается в том, когда ускорить инвестиции в рост, когда «держать курс» и когда использовать возможности. тормоза. Я бы сказал, что стереотип о правиле 40 вводит в заблуждение и на самом деле вредит венчурным компаниям. Вместо этого простой анализ на основе показателей может обеспечить более четкую основу для принятия решения.

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

  • Настоящих золотых правил не существует.

Компаниям на ранних стадиях лучше проводить подробный анализ экономики своего подразделения: стоимость привлечения клиентов (по типу клиента и/или каналу), пожизненная стоимость (LTV) с поправкой на валовую прибыль, коэффициент оттока и чистый коэффициент продления.

  • Ага. Почти всегда.

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

  • Последняя строка должна повторяться снова и снова.

Инвестиции SoftBank в размере 450 миллионов долларов выводят Compass на глобальную карту



Compass, нью-йоркский стартап в сфере недвижимости, заявил в четверг, что привлек 450 миллионов долларов финансирования от фонда Vision Fund SoftBank Group. Сделка оценивает Compass, который в настоящее время привлек 775 миллионов долларов, в 2,2 миллиарда долларов.

Компания Compass, основанная в 2012 году генеральным директором Робертом Реффкиным и исполнительным председателем Ори Аллоном, быстро зарекомендовала себя на ведущих рынках, таких как Нью-Йорк, благодаря привлечению лучших агентов. Его технологическая платформа помогает агентам оценивать и продавать недвижимость, автоматизируя рабочие процессы и предоставляя им доступ к анализу данных. По словам компании, после подписания контракта с Compass агенты видят увеличение комиссионного дохода на 25% в первый год работы.

Compass, который в настоящее время работает на 11 рынках США после запуска в Чикаго на прошлой неделе, планирует использовать средства, чтобы удвоить свой внутренний охват в течение следующего года. Со временем компания планирует выйти на зарубежные рынки.

«Каждый год мы удваивали выручку, количество транзакций. Теперь мы хотим выйти на новый уровень», — говорит Аллон Fast Company.

Сегодня половина рынков Compass являются прибыльными, причем наиболее авторитетные из них лидируют. Аллон ожидает, что выручка превысит 800 миллионов долларов в 2018 году.

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

Почему мы игнорируем негативные отзывы сотрудников



Проще говоря: мы ненавидим критику.

Все негативное, все критическое — мы этого боимся. Мы сопротивляемся, сопротивляемся и строим вокруг себя стену.

На самом деле, человеческий мозг запрограммирован сопротивляться отрицательной обратной связи. Исследования показывают, что наш мозг дольше удерживает негативные воспоминания, чем позитивные, поэтому негатив всегда причиняет больше боли. Мы больше расстраиваемся из-за потери 50 долларов, чем из-за того, что получили 50 долларов… То же самое и с обратной связью. Когда мы слышим что-то негативное, это запоминается больше, чем когда кто-то говорит нам о себе что-то положительное.

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

  • Хорошо провести самоанализ и понять, какова наша реакция по умолчанию на негативную обратную связь и что может быть причиной этих чувств. Затем мы должны разбить их, чтобы мы могли лучше получать эту обратную связь.
  • Это относится не только к негативным отзывам, но и в любое время, когда наши убеждения и предубеждения подвергаются сомнению. Чем больше мы можем быть бесстрастными и анализировать, что заставляет нас бросать вызов, тем больше вероятность того, что мы лучше представим свои и их аргументы и, надеюсь, приведем к хорошей дискуссии.

Основные проблемы с публичными блокчейнами



Нет никаких сомнений в том, что технология блокчейна имеет огромный потенциал.

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

На самом деле, это достаточно захватывающе, чтобы привлечь более миллиардов в ICO и провести массовые ценовые ралли в течение 2017 года. Ажиотаж реален.

Не поймите меня неправильно. Мне нравится тот факт, что «ажиотаж» вокруг блокчейна помогает популяризировать его среди основных пользователей. Наконец, я не получаю от людей пустых взглядов, когда говорю «Биткойн» или «Эфириум».

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

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

Некоторые из этих технических барьеров включают в себя:

Ограниченная масштабируемость

Ограниченная конфиденциальность

Отсутствие официальной проверки контракта

Ограничения хранения

Неустойчивые механизмы консенсуса

Отсутствие управления и стандартов

Неадекватная оснастка

Угроза квантовых вычислений

… и больше.

В этом посте я расскажу об этих технических барьерах и поделюсь примерами решений для их преодоления.

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

  • Не обращая внимания на ажиотаж вокруг криптовалюты, я верю, что независимо от того, что там происходит, блокчейн в той или иной форме будет с нами двигаться вперед. Даже если в худшем случае мы извлекаем уроки из блокчейна и применяем их где-то еще.
  • Это фантастическое и очень подробное описание некоторых проблем, с которыми сталкивается блокчейн. Preethi также включает в себя некоторые из первых возможных решений этих проблем.
  • Если вы хотя бы отдаленно заинтересованы или просто хотели бы узнать немного больше о деталях блокчейна, этот пост стоит вашего времени.

ПРЕЗЕНТАЦИЯ: Идеология



Некоторые люди утверждают, что модульные тесты делают системы типов ненужными: «Типы — это просто простые модульные тесты, написанные для вас, а простые модульные тесты не важны». Другие утверждают, что системы типов делают модульные тесты ненужными: «динамические языки нуждаются в модульных тестах только потому, что в них нет систем типов». Что тут происходит? Оба они не могут быть правильными. Мы будем использовать этот пример и пару других, чтобы исследовать неизвестные убеждения, которые формируют наше понимание мира.

  • Наконец-то дошли руки посмотреть это фантастическое небольшое выступление от @garybernhardt с Strangeloop 2015.
  • Это так резонировало со мной. Я начал с плохого динамического языка (php), а затем перешел к более слабым, типизированным языкам (C#, VB), затем вернулся к динамическим языкам, которые были немного лучше (Python, Ruby, JS), и теперь я перешел к статически типизированным языкам. языки, которые он упомянул (Purescript, Elm, Haskell и даже Idris :)).
  • На данный момент для меня важно иметь язык, который обеспечивает наилучшую категорию для проблемы. Я обнаружил, что любое время, которое я теряю заранее, позже возвращается из-за отсутствия проблем и даже более быстрой отладки, когда проблемы все же возникают.
  • Также это не спонсируемый плагин для подписки на контент, который Гэри производит на Destroy All Software. Его оригинальные видеоролики о Ruby помогли мне сформироваться не меньше, чем любой материал по программированию, с которым я когда-либо сталкивался. И его новый контент просто фантастический.

Четыре больших риска



В первом издании моей книги ВДОХНОВЛЕНО я говорил о ценности, полезности и осуществимости успешных продуктов, где я определял осуществимость как технически осуществимую и осуществимую с точки зрения бизнеса.

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

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

  • Во-первых, я должен признать свою предвзятость, поскольку мы в RK большие поклонники Марти Кейгана. Мы начали работать с ним в Workiva, подружились с ним и всегда ценим его понимание. Он также сел с нами, когда мы запускали RK, и дал нам бесценный совет на выходных, прежде чем мы совершили прыжок. Мы не могли бы быть более благодарны.
  • Все это говорит о том, что те, кто знает нас, знают, что мы не BS’еры. Мы верим в то, во что верим, независимо от эмоций. И мы всегда были большими поклонниками творчества Марти, и мы во многом разделяем его убеждения и труды.
  • Так что после всего сказанного я настоятельно рекомендую вам прочитать его обновленную книгу Вдохновленный, если вы еще этого не сделали. Вы можете получить больше информации здесь ВДОХНОВЛЕНО.
  • Я также рекомендую подписаться на блог SVG, чтобы получать его сообщения, а также его партнеров. Это укороченная версия того, что они обычно публикуют, но, как обычно, мы с этим согласны. Выявление и управление рисками имеет решающее значение для вашего успеха. Если вы хотите еще глубже погрузиться в управление рисками в программных проектах, то я настоятельно рекомендую Вальсирующие с медведями: управление рисками в программных проектах. Это одна из моих любимых книг по программному обеспечению. Это обязательное чтение для тех, кто хочет работать в индустрии программного обеспечения. Выстрел моему бывшему коллеге Райану Хеймбуху за то, что он порекомендовал его мне много лет назад.