diff --git a/404.html b/404.html deleted file mode 100644 index 85264bf..0000000 --- a/404.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Page not found ---- - -

- The page you were looking for does not exist. You might want to - go back home. -

diff --git a/README.md b/README.md deleted file mode 100644 index 7fb4d14..0000000 --- a/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Personal blog - -## Build and deploy - -Uses [Cloudflare Pages direct upload](https://developers.cloudflare.com/pages/get-started/direct-upload/). - -```sh -cabal run site build -npx wrangler login # Only needed once -npx wrangler pages deploy -``` diff --git a/README.org b/README.org new file mode 100644 index 0000000..ce4b5ee --- /dev/null +++ b/README.org @@ -0,0 +1,16 @@ +* Personal blog + +** Setup + +#+begin_src sh + npm install netlify-cli -g + netlify login # login to Netlify + netlify link # link the directory to the site +#+end_src + +** Deploy + +#+begin_src sh + # deploy, omit "--prod" if you want to preview + netlify deploy --dir=_site --prod +#+end_src diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..220bf96 Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png new file mode 100644 index 0000000..d8bf98a Binary files /dev/null and b/android-chrome-512x512.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png index 5b02c6a..53e0531 100644 Binary files a/apple-touch-icon.png and b/apple-touch-icon.png differ diff --git a/bib/bibliography.bib b/bib/bibliography.bib index 885be7d..d16f503 100644 --- a/bib/bibliography.bib +++ b/bib/bibliography.bib @@ -740,49 +740,3 @@ volume = 21, year = 1999, } - -@misc{liu2024_kan, - author = {Liu, Ziming and Wang, Yixuan and Vaidya, Sachin and - Ruehle, Fabian and Halverson, James and Soljačić, - Marin and Hou, Thomas Y. and Tegmark, Max}, - title = {{KAN}: {Kolmogorov}-{Arnold} {Networks}}, - year = 2024, - month = may, - publisher = {arXiv}, - doi = {10.48550/arXiv.2404.19756}, - url = {http://arxiv.org/abs/2404.19756}, - note = {arXiv:2404.19756 [cond-mat, stat]}, - keywords = {Computer Science - Machine Learning, Condensed - Matter - Disordered Systems and Neural Networks, - Computer Science - Artificial Intelligence, - Statistics - Machine Learning}, -} - -@article{chenNeuralOrdinaryDifferential2018, - archivePrefix = {arXiv}, - eprinttype = {arxiv}, - eprint = {1806.07366}, - primaryClass = {cs, stat}, - title = {Neural {{Ordinary Differential Equations}}}, - url = {http://arxiv.org/abs/1806.07366}, - abstract = {We introduce a new family of deep neural network models. Instead of specifying a discrete sequence of hidden layers, we parameterize the derivative of the hidden state using a neural network. The output of the network is computed using a black-box differential equation solver. These continuous-depth models have constant memory cost, adapt their evaluation strategy to each input, and can explicitly trade numerical precision for speed. We demonstrate these properties in continuous-depth residual networks and continuous-time latent variable models. We also construct continuous normalizing flows, a generative model that can train by maximum likelihood, without partitioning or ordering the data dimensions. For training, we show how to scalably backpropagate through any ODE solver, without access to its internal operations. This allows end-to-end training of ODEs within larger models.}, - urldate = {2019-01-05}, - date = {2018-06-19}, - keywords = {Statistics - Machine Learning,Computer Science - Artificial Intelligence,Computer Science - Machine Learning}, - author = {Chen, Ricky T. Q. and Rubanova, Yulia and Bettencourt, Jesse and Duvenaud, David}, - file = {/home/dimitri/Nextcloud/Zotero/storage/26D4Y3GG/Chen et al. - 2018 - Neural Ordinary Differential Equations.pdf;/home/dimitri/Nextcloud/Zotero/storage/RNXT4EQV/1806.html} -} - -@article{ruthotto2024_differ_equat, - author = {Ruthotto, Lars}, - title = {Differential {Equations} for {Continuous}-{Time} - {Deep} {Learning}}, - journal = {Notices of the American Mathematical Society}, - year = 2024, - month = may, - volume = 71, - number = 05, - issn = {0002-9920, 1088-9477}, - doi = {10.1090/noti2930}, - url = {https://www.ams.org/notices/202405/rnoti-p613.pdf}, -} diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000..2ee434e Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000..adec1fb Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon-96x96.png b/favicon-96x96.png deleted file mode 100644 index 3550660..0000000 Binary files a/favicon-96x96.png and /dev/null differ diff --git a/favicon.ico b/favicon.ico index 2c2a54e..616702d 100644 Binary files a/favicon.ico and b/favicon.ico differ diff --git a/favicon.svg b/favicon.svg deleted file mode 100644 index bfc45c4..0000000 --- a/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/index.html b/index.html index 967fedb..3c151b9 100644 --- a/index.html +++ b/index.html @@ -16,17 +16,17 @@ title: Dimitri Lozeve />

- Hi! I am an Engineering Manager at - Doctrine, where we develop productivity - tools to help lawyers analyze and write their private documents. + Hi! I am an Engineering Manager + at Doctrine, where we develop + productivity tools to help lawyers manage their data.

- I was previously a Research Engineer and Project Manager at - Sysnav, where I worked on developing - algorithms to help physicians measure the progress of neuromuscular diseases. - We used data from inertial sensors to extract meaningful variables for - pharmaceutical studies. + I was previously a Research Engineer and Project Manager + at Sysnav, where I worked on + developing algorithms to help physicians measure the progress of + neuromuscular diseases. We used data from inertial sensors to + extract meaningful variables for pharmaceutical studies.

@@ -41,10 +41,10 @@ title: Dimitri Lozeve

- You can contact me by email (at firstname@lastname.com), reach me via - Mastodon, find me on - LinkedIn, or see what - I do on GitHub. + You can contact me by email (at firstname@lastname.com), + reach me via Mastodon, + find me on LinkedIn, + or see what I do on GitHub.

Recent Posts

diff --git a/posts/kolmogorov-arnold-networks.org b/posts/kolmogorov-arnold-networks.org deleted file mode 100644 index 0d0c6cf..0000000 --- a/posts/kolmogorov-arnold-networks.org +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Reading notes: Kolmogorov-Arnold Networks" -date: 2024-06-08 -tags: machine learning, paper -toc: false ---- - -This paper [cite:@liu2024_kan] proposes an alternative to multi-layer -perceptrons (MLPs) in machine learning. - -The basic idea is that MLPs have parameters on the nodes of the -computation graph (the weights and biases on each cell), and that KANs -have the parameters on the edges. Each edge has a learnable activation -function parameterized as a spline. - -The network is learned at two levels, which allows for "adjusting -locally": -- the overall shape of the computation graph and its connexions - (external degrees of freedom, to learn the compositional structure), -- the parameters of each activation function (internal degrees of - freedom). - -It is based on the [[https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Arnold_representation_theorem][Kolmogorov-Arnold representation theorem]], which -says that any continuous multivariate function can be represented as a -sum of continuous univariate functions. We recover the distinction -between the compositional structure of the sum and the structure of -each internal univariate function. - -The theorem can be interpreted as two layers, and the paper then -generalizes it to multiple layer of arbitrary width. In the theorem, -the univariate functions are arbitrary and can be complex (even -fractal), so the hope is that allowing for arbitrary depth and width -will allow to only use splines. They derive an approximation theorem: -when replacing the arbitrary continuous functions of the -Kolmogorov-Arnold representation with splines, we can bound the error -independently of the dimension. (However there is a constant which -depends on the function and its representation, and therefore on the -dimension...) Theoretical scaling laws in the number of parameters are -much better than for MLPs, and moreover, experiments show that KANs -are much closer to their theoretical bounds than MLPs. - -KANs have interesting properties: -- The splines are interpolated on grid points which can be iteratively - refined. The fact that there is a notion of "fine-grainedness" is - very interesting, it allows to add parameters without having to - retrain everything. -- Larger is not always better: the quality of the reconstruction - depends on finding the optimal shape of the network, which should - match the structure of the function we want to approximate. Finding - this optimal shape is found via sparsification, pruning, and - regularization (non-trivial). -- We can have a "human in the loop" during training, guiding pruning, - and "symbolifying" some activations (i.e. by recognizing that an - activation function is actually a cos function, replace it - directly). This symbolic discovery can be guided by a symbolic - system recognizing some functions. It's therefore a mix of symbolic - regression and numerical regression. - -They test mostly with scientific applications in mind: reconstructing -equations from physics and pure maths. Conceptually, it has a lot of -overlap with Neural Differential Equations -[cite:@chenNeuralOrdinaryDifferential2018;@ruthotto2024_differ_equat] -and "scientific ML" in general. - -There is an interesting discussion at the end about KANs as the model -of choice for the "language of science". The idea is that LLMs are - important because they are useful for natural language, and KANs -could fill the same role for the language of functions. The -interpretability and adaptability (being able to be manipulated and -guided during training by a domain expert) is thus a core feature that -traditional deep learning models lack. - -There are still challenges, mostly it's unclear how it performs on -other types of data and other modalities, but it is very -encouraging. There is also a computational challenges, they are -obviously much slower to train, but there has been almost no -engineering work on them to optimize this, so it's expected. The fact -that the operations are not easily batchable (compared to matrix -multiplication) is however worrying for scalability to large networks. - -* References diff --git a/projects.org b/projects.org index c9bd6d3..fe62fda 100644 --- a/projects.org +++ b/projects.org @@ -106,7 +106,6 @@ was gathered using a Software Defined Radio to listen to aircrafts. - My submission [[https://github.com/dlozeve/apl-competition-2018][on GitHub]] - Nominated as a [[https://www.dyalog.com/nnews/128/456/Winners-Announced-for-the-2018-APL-Programming-Contest.htm][Phase I winner]] - [[https://adventofcode.com/][Advent of code]] - - [[https://git.sr.ht/~dlozeve/advent-of-code/tree/main/item/2024][2024]] (BQN) - [[https://github.com/dlozeve/aoc2023][2023]] (BQN) - [[https://github.com/dlozeve/aoc2022][2022]] (mostly BQN) - [[https://github.com/dlozeve/aoc2021][2021]] (mostly Chicken Scheme) diff --git a/site.hs b/site.hs index 1de646a..5bc941b 100644 --- a/site.hs +++ b/site.hs @@ -18,7 +18,7 @@ main = hakyll $ do route idRoute compile copyFileCompiler - match (fromList ["favicon.ico", "favicon.svg", "favicon-96x96.png", "web-app-manifest-192x192.png", "web-app-manifest-512x512.png", "apple-touch-icon.png", "site.webmanifest"]) $ do + match "favicon.ico" $ do route idRoute compile copyFileCompiler @@ -112,12 +112,6 @@ main = hakyll $ do match "templates/*" $ compile templateBodyCompiler - match "404.html" $ do - route idRoute - compile $ - customPandocCompiler False - >>= loadAndApplyTemplate "templates/default.html" defaultContext - -------------------------------------------------------------------------------- feedConfiguration :: FeedConfiguration feedConfiguration = diff --git a/site.webmanifest b/site.webmanifest index b17f5e5..45dc8a2 100644 --- a/site.webmanifest +++ b/site.webmanifest @@ -1,21 +1 @@ -{ - "name": "Dimitri Lozeve", - "short_name": "Dimitri Lozeve", - "icons": [ - { - "src": "/web-app-manifest-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "/web-app-manifest-512x512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/templates/default.html b/templates/default.html index 044fb2c..fd0b0fe 100644 --- a/templates/default.html +++ b/templates/default.html @@ -1,54 +1,31 @@ - - - + + + - - - - - + + + + - Dimitri Lozeve - $title$ - - - - + $if(keywords)$ - + $endif$ - - + Dimitri Lozeve - $title$ - - + - + +
@@ -56,25 +33,31 @@ $if(title)$ -

$title$

- $if(subtitle)$ -

$subtitle$

- $endif$ $if(date)$ -

$date$$if(author)$ – $author$$endif$

- $else$ $if(author)$ -

$author$

- $endif$ $endif$ $if(tags)$ -

Tags: $tags$

- $endif$ $endif$ +

$title$

+ $if(subtitle)$ +

$subtitle$

+ $endif$ + $if(date)$ +

$date$$if(author)$ – $author$$endif$

+ $else$ + $if(author)$ +

$author$

+ $endif$ + $endif$ + $if(tags)$ +

Tags: $tags$

+ $endif$ + $endif$ $body$ +