https://www.deeplearning.ai/the-batch/issue-176/
Andrew Ng gives an overview of this year's AI highlights. In contrast to usual overviews Andrew mentions some technical details, relevant papers and major downsides or controversies.
Andrew Ng gives an overview of this year's AI highlights. In contrast to usual overviews Andrew mentions some technical details, relevant papers and major downsides or controversies.
AI Gets Creative, Is Coding Obsolete?, Can Language Models be Trusted?, Vision Transformers Improve, One Model to Do Them All
The Batch - AI News & Insights: As the winter holiday approaches, it occurs to me that, instead of facing AI winter, we are in a boiling-hot summer...
А как вообще люди во время изоляции выдерживали сидеть в одной квартире со своей кукухой?! 🤯
👎1🤡1🐳1
https://arxiv.org/abs/2210.16294
"Learning Modular Simulations for Homogeneous Systems" by Jayesh K. Gupta, Sai Vemprala, Ashish Kapoor
A pretty cool paper from Microsoft Research merging Neural ODEs with Graph Neural Networks ideas. It presents data-driven continuous-time dynamical system identification problem as learning a system of NeuralODE nodes connected with links forming a graph, and using (synthetic) message-passing along the graph edges. Thus the MP-NODE name of the technique.
OK, what does all of that mean?
Most of physical (continuous-time) systems are modelled as differential equations, and we all know that knowing either initial conditions or boundary conditions we can (numerically) solve the equation obtaining a function that tells us the state of the system at any point in time and space. But to do so we need to know precisely the function governing system's evolution. For most real-world systems we can't know it, and instead we have a series of measurements of the system's state at different times. So we have a data-driven system identification problem.
NeuralODEs present one approach to this problem, approximating unknown evolution function with a Neural Network so we can train the network in a way that ODE solution becomes as close to the data at hand as possible. And we need to go deeper! 😊
Usually real-world systems get composed from smaller systems, that can be described with differential equations, connected together. Thus it would be pretty natural (and hopefully computationally more efficient) to model them the same way: as a number of (smaller) equations somehow connected and synchronized.
Enter MP-NODE: the authors propose augmenting NeuralODE's state vectors with a "message" part, account for connections between different nodes, and learn the whole thing at once from the data.
The caveat is all the nodes in the system are governed by exactly the same NeuralODE, thus the "Homogeneous" part of the noscript. But such (pretty) homogeneous systems are all around us: for instance water supply system consists of almost identical pumping stations connected into a single network.
The results are pretty impressive and promising! The MP-NODE models learned from smaller systems (in terms of the number of nodes in a graph) can be easily and efficiently fine-tuned to larger systems. And if we keep the size of the graph but change the topology (connectivity) the model performs surprisingly accurate even without any additional training at all!
Also the "ODEs connected with links in a graph" idea reminds me about https://github.com/AlgebraicJulia/AlgebraicDynamics.jl from the Topos Institute. Though their approach has nothing to do with Machine Learning. But for some reason they chose Julia anyway too! 😃
#julia #machinelearning #ode
"Learning Modular Simulations for Homogeneous Systems" by Jayesh K. Gupta, Sai Vemprala, Ashish Kapoor
A pretty cool paper from Microsoft Research merging Neural ODEs with Graph Neural Networks ideas. It presents data-driven continuous-time dynamical system identification problem as learning a system of NeuralODE nodes connected with links forming a graph, and using (synthetic) message-passing along the graph edges. Thus the MP-NODE name of the technique.
OK, what does all of that mean?
Most of physical (continuous-time) systems are modelled as differential equations, and we all know that knowing either initial conditions or boundary conditions we can (numerically) solve the equation obtaining a function that tells us the state of the system at any point in time and space. But to do so we need to know precisely the function governing system's evolution. For most real-world systems we can't know it, and instead we have a series of measurements of the system's state at different times. So we have a data-driven system identification problem.
NeuralODEs present one approach to this problem, approximating unknown evolution function with a Neural Network so we can train the network in a way that ODE solution becomes as close to the data at hand as possible. And we need to go deeper! 😊
Usually real-world systems get composed from smaller systems, that can be described with differential equations, connected together. Thus it would be pretty natural (and hopefully computationally more efficient) to model them the same way: as a number of (smaller) equations somehow connected and synchronized.
Enter MP-NODE: the authors propose augmenting NeuralODE's state vectors with a "message" part, account for connections between different nodes, and learn the whole thing at once from the data.
The caveat is all the nodes in the system are governed by exactly the same NeuralODE, thus the "Homogeneous" part of the noscript. But such (pretty) homogeneous systems are all around us: for instance water supply system consists of almost identical pumping stations connected into a single network.
The results are pretty impressive and promising! The MP-NODE models learned from smaller systems (in terms of the number of nodes in a graph) can be easily and efficiently fine-tuned to larger systems. And if we keep the size of the graph but change the topology (connectivity) the model performs surprisingly accurate even without any additional training at all!
Also the "ODEs connected with links in a graph" idea reminds me about https://github.com/AlgebraicJulia/AlgebraicDynamics.jl from the Topos Institute. Though their approach has nothing to do with Machine Learning. But for some reason they chose Julia anyway too! 😃
#julia #machinelearning #ode
GitHub
GitHub - AlgebraicJulia/AlgebraicDynamics.jl: Building dynamical systems compositionally
Building dynamical systems compositionally. Contribute to AlgebraicJulia/AlgebraicDynamics.jl development by creating an account on GitHub.
https://neverworkintheory.org/about/
"It might work in practice, but it will never work in theory"
The folks are trying to bring useful empirical results on Software Engineering to the attention of "unsophisticated" Software Developers (like me).
They accept worthy contributions (blog posts) from Internet randos. 😉
"It might work in practice, but it will never work in theory"
The folks are trying to bring useful empirical results on Software Engineering to the attention of "unsophisticated" Software Developers (like me).
They accept worthy contributions (blog posts) from Internet randos. 😉
🐳1
https://towardsdatascience.com/what-is-better-one-general-model-or-many-specialized-models-9500d9f8751d
Decision Trees-based predictive models rock (the ROC curve, yes).
The post compares "specialized models" trained on a subset of data with "general models" trained on the whole dataset. The assumption is if we slice the data in an appropriate way (by country for instance) the specialized model will have easier time learning patterns specific to the slices. Kinda makes sense but doesn't seem to really work.
Would be interesting to compare with DNNs both general and special. Though there are many more hyperparameters to screw things up...
Decision Trees-based predictive models rock (the ROC curve, yes).
The post compares "specialized models" trained on a subset of data with "general models" trained on the whole dataset. The assumption is if we slice the data in an appropriate way (by country for instance) the specialized model will have easier time learning patterns specific to the slices. Kinda makes sense but doesn't seem to really work.
Would be interesting to compare with DNNs both general and special. Though there are many more hyperparameters to screw things up...
https://pythonspeed.com/articles/verified-fakes/
It's a very liberal use of the term "verified", but a useful technique nevertheless.
It's a very liberal use of the term "verified", but a useful technique nevertheless.
Python⇒Speed
Fast tests for slow services: why you should use verified fakes
Sometimes your Python tests need to talk to something slow and not under your control. Learn how to write fast and realistic tests, without resorting to mocks.
https://dmkpress.com/catalog/computer/mathematics/978-5-97060-954-5/
ДМК добрался и до "классической механики". Собрал стрит по масти, так сказать. 😁
ДМК добрался и до "классической механики". Собрал стрит по масти, так сказать. 😁
Dmkpress
Структура и интерпретация классической механики
Структура и интерпретация классической механики - купить в издательстве «ДМК Пресс». Цена, фото, аннотация. Доставка по Москве и РФ.
https://thakkarparth007.github.io/copilot-explorer/posts/copilot-internals
Github Copilot extension as a Codex prompt engineering (partially) reverse-engineered.
Not very surprising the extension itself employs a learned Logistic Regression model to evaluate composed prompts.
Github Copilot extension as a Codex prompt engineering (partially) reverse-engineered.
Not very surprising the extension itself employs a learned Logistic Regression model to evaluate composed prompts.
In my version of computational thinking, I imagine an abstract machine with just the data types and operations that I want. If this machine existed, then I could write the program I want. But it doesn’t. Instead I have introduced a bunch of subproblems — the data types and operations — and I need to figure out how to implement them. I do this over and over until I’m working with a real machine or a real programming language. That’s the art of design.
Barbara Liskov, https://www.quantamagazine.org/barbara-liskov-is-the-architect-of-modern-algorithms-20191120/
Curious how Liskov echoes the Alan Kay's idea of objects as "little Turing machines exchanging messages" and Dijkstra's quote "the purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise".
These ideas seemingly naturally lead to the Language-Oriented Programming and DSLs, but those trigger hard pushback from vast majority of developers... 🤔
Quanta Magazine
The Architect of Modern Algorithms
Barbara Liskov pioneered the modern approach to writing code. She warns that the challenges facing computer science today can’t be overcome with good design alone.
👍3👎2❤1
Chad (китайские) кофейные весы:
— стоят пять баксов в базарный день
— включаются за пол-секунды
— вычитают тару мгновенно
— имеют встроенный секундомер
Virgin (китайские) смарт-весы:
— стоят как деталь от вертолёта
— включаются пять секунд
— вычитают тару пять секунд
— имеют бесполезный блютуз, но нет встроенного секундомера
🤦♀
— стоят пять баксов в базарный день
— включаются за пол-секунды
— вычитают тару мгновенно
— имеют встроенный секундомер
Virgin (китайские) смарт-весы:
— стоят как деталь от вертолёта
— включаются пять секунд
— вычитают тару пять секунд
— имеют бесполезный блютуз, но нет встроенного секундомера
🤦♀
😁1🎉1💯1
smart people are overrated. Let me put it this way: if you’re a smart astrologer, you’re still not gonna be able to do “real” astrology, which doesn’t exist
https://statmodeling.stat.columbia.edu/2023/01/10/fields-where-it-matters-that-theres-no-there-there-fields-where-you-can-thrive-on-b-s-alone-and-everything-in-between/
Андрю жжот! 😁
😁3🤔1🥱1
https://statmodeling.stat.columbia.edu/2023/01/03/explanation-and-reproducibility-in-data-driven-science-new-course/
WOW, a great reading list on #statistics and #machinelearning ! And an important topic for a course. Especially targeting CS students.
WOW, a great reading list on #statistics and #machinelearning ! And an important topic for a course. Especially targeting CS students.
https://www.quantamagazine.org/post-quantum-cryptography-scheme-is-cracked-on-a-laptop-20220824/
Ouch, cryptography is hard. Post-quantum one twice as much.
Also fascinating how incomprehensibly rich and complex mathematical objects are!
Ouch, cryptography is hard. Post-quantum one twice as much.
Also fascinating how incomprehensibly rich and complex mathematical objects are!
Quanta Magazine
‘Post-Quantum’ Cryptography Scheme Is Cracked on a Laptop
Two researchers have broken an encryption protocol that many saw as a promising defense against the power of quantum computing.
👍2
Так-то в наше время Лао Цзы, конечно же, вёл бы Твиттер — у него как раз все высказывания в лимит укладываются. А комментарии не читал бы никогда, ибо "большое отшельничество".
🤣3👍1🤡1
TIL: since recently Firefox can not only show but also edit PDF files (to some degree).
https://www.pcworld.com/article/1356707/firefox-106-adds-a-nifty-pdf-editing-feature.html
https://www.pcworld.com/article/1356707/firefox-106-adds-a-nifty-pdf-editing-feature.html
PCWorld
Firefox’s latest update adds a nifty PDF editing feature
Firefox 106 helps eliminate one of the great hassles of the modern web browser: dealing with PDF files.
🔥7
Решил поведать про новую и захватывающую тему в области машинного обучения — https://en.wikipedia.org/wiki/Reservoir_computing
На самом деле не особо новая — развивается с середины 2000х — но настолько прикольная, что удержаться невозможно.
В общих чертах, идея такая. Возьмём для примера старый добрый многослойный перцептрон — что он делает? По сути, он производит какое-то неведомое нелинейное преобразование. Сначала с повышением размерности, потом с сохранением, а в конце сужающее — из какого-то многомерного латентного пространства в низкую размерность, которую мы уже интерпретируем как решение задачи. Стандартная схема.
Но перцептрон — это не круто, очень старая и скучная архитектура, лучше взять что-то поинтереснее, хотя бы рекуррентные нейронные сети. Так у нас возникает система с обратными связями. Её можно описать разностной схемой, а в пределе получатся дифуры. Дифуры — это круто и уважаемо. Есть даже ещё более маркетинговое название — динамические системы, звучит гордо.
А теперь подумаем, так ли нам важно, что там происходит в недрах нашей нейронки? Этого всё равно никто не понимает! Но зачем-то же мы производим это преобразование в многомерное пространство, почему-то же это работает? Ну, в задачах классификации мы предполагаем, что нелинейное отображение в многомерное пространство "растаскивает" точки подальше друг от друга, и так становится "виднее" и понятнее, кто к какому классу принадлежит. Т.е. главное — чтобы после преобразования соседние точки оказались разнесены далеко друг от друга.
Но это же самое известное свойство хаотических систем! Которые описываются дифурами. Всё сходится! Нужно всего лишь взять любую хаотическую динамическую систему — можно реальную физическую! — преобразовать наши данные в начальное состояние этой системы, дать ей поработать какое-то время, считать итоговое состояние, а потом натренировать перцептрон правильно его интерпретировать. Поздравляю, мы только что переизобрели Reservoir Computing. 💪
Между делом мы пересекли другую линию исследований, которая началась чуть раньше и развивалась параллельно: https://en.wikipedia.org/wiki/Extreme_learning_machine
По факту, это использование случайно инициализированных стандартных feed-forward NNs, где обучается только последний слой. Промежуточные слои производят неведомое нелинейное преобразование, но нас это устраивает, потому что главное — научиться правильно интерпретировать результаты.
Но я предлагаю заглянуть в прошлое намного дальше и проследить истинные истоки этих идей. Поскольку практиковать их начали ещё в древнем Риме! А что, стая птиц — это сложная динамическая система с обратными связями, в чём-то даже хаотическая. Не хуже других естественных динамических систем. Главное же — научиться правильно интерпретировать конечное состояние... 😏
На самом деле не особо новая — развивается с середины 2000х — но настолько прикольная, что удержаться невозможно.
В общих чертах, идея такая. Возьмём для примера старый добрый многослойный перцептрон — что он делает? По сути, он производит какое-то неведомое нелинейное преобразование. Сначала с повышением размерности, потом с сохранением, а в конце сужающее — из какого-то многомерного латентного пространства в низкую размерность, которую мы уже интерпретируем как решение задачи. Стандартная схема.
Но перцептрон — это не круто, очень старая и скучная архитектура, лучше взять что-то поинтереснее, хотя бы рекуррентные нейронные сети. Так у нас возникает система с обратными связями. Её можно описать разностной схемой, а в пределе получатся дифуры. Дифуры — это круто и уважаемо. Есть даже ещё более маркетинговое название — динамические системы, звучит гордо.
А теперь подумаем, так ли нам важно, что там происходит в недрах нашей нейронки? Этого всё равно никто не понимает! Но зачем-то же мы производим это преобразование в многомерное пространство, почему-то же это работает? Ну, в задачах классификации мы предполагаем, что нелинейное отображение в многомерное пространство "растаскивает" точки подальше друг от друга, и так становится "виднее" и понятнее, кто к какому классу принадлежит. Т.е. главное — чтобы после преобразования соседние точки оказались разнесены далеко друг от друга.
Но это же самое известное свойство хаотических систем! Которые описываются дифурами. Всё сходится! Нужно всего лишь взять любую хаотическую динамическую систему — можно реальную физическую! — преобразовать наши данные в начальное состояние этой системы, дать ей поработать какое-то время, считать итоговое состояние, а потом натренировать перцептрон правильно его интерпретировать. Поздравляю, мы только что переизобрели Reservoir Computing. 💪
Между делом мы пересекли другую линию исследований, которая началась чуть раньше и развивалась параллельно: https://en.wikipedia.org/wiki/Extreme_learning_machine
По факту, это использование случайно инициализированных стандартных feed-forward NNs, где обучается только последний слой. Промежуточные слои производят неведомое нелинейное преобразование, но нас это устраивает, потому что главное — научиться правильно интерпретировать результаты.
Но я предлагаю заглянуть в прошлое намного дальше и проследить истинные истоки этих идей. Поскольку практиковать их начали ещё в древнем Риме! А что, стая птиц — это сложная динамическая система с обратными связями, в чём-то даже хаотическая. Не хуже других естественных динамических систем. Главное же — научиться правильно интерпретировать конечное состояние... 😏
👍6🤔2🤯2