1<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> blog | Yutang Lin </title> <meta name="author" content="Yutang Lin"> <meta name="description" content="A simple, whitespace theme for academics. Based on [*folio](https://github.com/bogoli/-folio) design. "> <meta name="keywords" content="jekyll, jekyll-theme, academic-website, portfolio-website"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" href="/assets/css/scholar-icons.css?62b2ac103a88034e6882a5be5f3e2772"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..700&
1family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&family=Roboto:wght@300;400;500;700&family=Roboto+Slab:wght@100;300;400;500;700&family=Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20100%20100%22><text%20y=%22.9em%22%20font-size=%2290%22>%F0%9F%A4%AA</text></svg>"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://yutang-lin.github.io/blog/">
1<script src="/assets/js/theme.js?4cd6edf741c75aac92971c2b7b959939"></script>
1 <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark">
1<script> 2 initTheme(); 3 </script>
3 </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand title font-weight-lighter" href="/"> <span class="font-weight-bold">Yutang</span> Lin </a> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item "> <a class="nav-link" href="/">about </a> </li> <li class="nav-item active"> <a class="nav-link" href="/blog/">blog <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/publications/">publications </a> </li> <li class="nav-item "> <a class="nav-link" href="/repositories/">repositories </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">cv </a> </li> <li class="nav-item dropdown "> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">submenus </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item " href="/books/">bookshelf</a> </div> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <div class="header-bar"> <h1>Yutang Lin's blog</h1> <h2>A journey through mathematics, philosophy, and robotics, where I share book reviews, research insights, and personal explorations in computer vision, robotics, and reinforcement learning.</h2> </div> <div class="tag-category-list"> <ul class="p-0 m-0"> <li> <i class="fa-solid fa-hashtag fa-sm"></i> <a href="/blog/tag/robotics">Robotics</a> </li> <p>â¢</p> <li> <i class="fa-solid fa-hashtag fa-sm"></i> <a href="/blog/tag/rl">RL</a> </li> <p>â¢</p> <li> <i class="fa-solid fa-hashtag fa-sm"></i> <a href="/blog/tag/cv">CV</a> </li> <p>â¢</p> <li> <i class="fa-solid fa-tag fa-sm"></i> <a href="/blog/category/formatting">formatting</a> </li> <p>â¢</p> <li> <i class="fa-solid fa-tag fa-sm"></i> <a href="/blog/category/algorithms">algorithms</a> </li> <p>â¢</p> <li> <i class="fa-solid fa-tag fa-sm"></i> <a href="/blog/category/experiments">experiments</a> </li> <p>â¢</p> <li> <i class="fa-solid fa-tag fa-sm"></i> <a href="/blog/category/math">math</a> </li> </ul> </div> <ul class="post-list"> <li> <h3> <a class="post-title" href="/blog/2026/why-humanoids/">Why Humanoids?</a> </h3> <p>Whole-body physicality, not the humanoid form factor, is what makes humanoids fundamentally different â and why I think we do not yet have a general-purpose whole-body model.</p> <p class="post-meta"> 3 min read  ·  August 17, 2026 </p> <p class="post-tags"> <a href="/blog/2026"> <i class="fa-solid fa-calendar fa-sm"></i> 2026 </a>  ·  <a href="/blog/tag/robotics"> <i class="fa-solid fa-hashtag fa-sm"></i> Robotics</a>  ·  <a href="/blog/category/robotics"> <i class="fa-solid fa-tag fa-sm"></i> Robotics</a> </p> </li> <li> <h3> <a class="post-title" href="/blog/2024/ajoint-methods/">Notes for Ajoint Methods</a> </h3> <p>The adjoint method, introduced in the 2018 neural ODE paper, provides an efficient approach for computing gradients in neural ODEs. This article presents a detailed mathematical derivation of the adjoint method's core formulas and their applications.</p> <p class="post-meta"> 3 min read  ·  August 20, 2024 </p> <p class="post-tags"> <a href="/blog/2024"> <i class="fa-solid fa-calendar fa-sm"></i> 2024 </a>  ·  <a href="/blog/tag/ajoint-method"> <i class="fa-solid fa-hashtag fa-sm"></i> ajoint-method</a>  <a href="/blog/tag/ode"> <i class="fa-solid fa-hashtag fa-sm"></i> ODE</a>  ·  <a href="/blog/category/formatting"> <i class="fa-solid fa-tag fa-sm"></i> formatting</a>  <a href="/blog/category/algorithms"> <i class="fa-solid fa-tag fa-sm"></i> algorithms</a>  <a href="/blog/category/math"> <i class="fa-solid fa-tag fa-sm"></i> math</a> </p> </li> <li> <h3> <a class="post-title" href="/blog/2024/diffusion-models/">Notes for Diffusion Models</a> </h3> <p>Diffusion models are an important class of modern generative models. This article provides a brief introduction to distribution-based generative algorithms such as diffusion, SDE, and consistency models based on my personal understanding.</p> <p class="post-meta"> 23 min read  ·  June 20, 2024 </p> <p class="post-tags"> <a href="/blog/2024"> <i class="fa-solid fa-calendar fa-sm"></i> 2024 </a>  ·  <a href="/blog/tag/generative-models"> <i class="fa-solid fa-hashtag fa-sm"></i> generative-models</a>  <a href="/blog/tag/ode"> <i class="fa-solid fa-hashtag fa-sm"></i> ODE</a>  <a href="/blog/tag/sde"> <i class="fa-solid fa-hashtag fa-sm"></i> SDE</a>  <a href="/blog/tag/cv"> <i class="fa-solid fa-hashtag fa-sm"></i> CV</a>  ·  <a href="/blog/category/formatting"> <i class="fa-solid fa-tag fa-sm"></i> formatting</a>  <a href="/blog/category/algorithms"> <i class="fa-solid fa-tag fa-sm"></i> algorithms</a>  <a href="/blog/category/math"> <i class="fa-solid fa-tag fa-sm"></i> math</a> </p> </li> </ul> </div> </div> <footer class="fixed-bottom" role="contentinfo"> <div class="container mt-0"> © Copyright 2026 Yutang Lin. Powered by <a href="https://jekyllrb.com/" target="_blank" rel="external nofollow noopener">Jekyll</a> with <a href="https://github.com/alshedivat/al-folio" rel="external nofollow noopener" target="_blank">al-folio</a> theme. Hosted by <a href="https://pages.github.com/" target="_blank" rel="external nofollow noopener">GitHub Pages</a>. Photos from <a href="https://unsplash.com" target="_blank" rel="external nofollow noopener">Unsplash</a>. </div> </footer>
3<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
3
3<script src="/assets/js/bootstrap.bundle.min.js"></script>
3
3<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/mdb.min.js" integrity="sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA=" crossorigin="anonymous"></script>
3
3<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/masonry.pkgd.min.js" integrity="sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=" crossorigin="anonymous"></script>
3
3<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/imagesloaded.pkgd.min.js" integrity="sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc=" crossorigin="anonymous"></script>
3
3<script defer src="/assets/js/masonry.js?a0db7e5d5c70cc3252b3138b0c91dcaf" type="text/javascript"></script>
3
3<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/medium-zoom.min.js" integrity="sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=" crossorigin="anonymous"></script>
3
3<script defer src="/assets/js/zoom.js?85ddb88934d28b74e78031fd54cf8308"></script>
3
3<script src="/assets/js/no_defer.js?2781658a0a2b13ed609542042a859126"></script>
3
3<script defer src="/assets/js/common.js?5d7a7666d5209ade57efdb75b71b032c"></script>
3
3<script defer src="/assets/js/copy_code.js?c8a01c11a92744d44b093fc3bda915df" type="text/javascript"></script>
3
3<script defer src="/assets/js/jupyter_new_tab.js?d9f17b6adc2311cbabd747f4538bb15f"></script>
3
3<script async src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>
3
3<script async src="https://badge.dimensions.ai/badge.js"></script>
3
3<script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-mml-chtml.js" integrity="sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI=" crossorigin="anonymous"></script>
3
3<script src="/assets/js/mathjax-setup.js?a5bb4e6a542c546dd929b24b8b236dfd"></script>
3
3<script defer src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6" crossorigin="anonymous"></script>
3
3<script defer src="/assets/js/progress-bar.js?2f30e0e6801ea8f5036fa66e1ab0a71a" type="text/javascript"></script>
3
3<script src="/assets/js/vanilla-back-to-top.min.js?f40d453793ff4f64e238e420181a1d17"></script>
3
3<script> 4 addBackToTop(); 5 </script>
5
5<script type="module" src="/assets/js/search/ninja-keys.min.js?a3446f084dcaecc5f75aa1757d087dcf"></script>
5 <ninja-keys hidebreadcrumbs noautoloadmdicons placeholder="Type to start searching"></ninja-keys>
5<script src="/assets/js/search-setup.js?6c304f7b1992d4b60f7a07956e52f04a"></script>
5
5<script src="/assets/js/search-data.js"></script>
5
5<script src="/assets/js/shortcut-key.js?6f508d74becd347268a7f822bca7309d"></script>
5 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.