Skip to content

Commit

Permalink
content updates
Browse files Browse the repository at this point in the history
  • Loading branch information
Roman Koshkin authored and Roman Koshkin committed Apr 16, 2024
1 parent 1ec12ba commit 88ac6ff
Show file tree
Hide file tree
Showing 16 changed files with 152 additions and 240 deletions.
58 changes: 23 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,4 @@
# [Roman.Koshkin.me](https://roman.koshkin.me)

# Notes

- transitioned to ReactJS 18
- if you clone and get errors, you might need to run
`npx @next/codemod new-link . --force` from the project folder. Maybe even several times until the errors disappear.

# next.js course

https://www.youtube.com/watch?v=mTz0GXj8NN0&t=3698s

# TODO

- make Research, Blog, Projects beautiful

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fakellbl4%2Fpavel.mineev.me)

From the very start to not so long ago my site was just several links to my social media and contacts. Since I started to write about development I decided to have my place where I can write what I want. So, I decided to use Next.js, Tailwind, and MDX as the base for my website.

## Overview
# Overview

- `src/pages/api/*` - [API routes](https://nextjs.org/docs/api-routes/introduction) makes Now Playing in my Spotify work as well as counting numbers of views with Redis.
- `src/pages/blog/*` - Static pre-rendered blog pages using [MDX](https://github.com/mdx-js/mdx).
Expand All @@ -27,19 +7,15 @@ From the very start to not so long ago my site was just several links to my soci
## Run on local machine

```bash
$ git clone https://github.com/akellbl4/pavel.mineev.me.git
$ cd pavel.mineev.me
$ git clone https://github.com/RomanKoshkin/nextjs-website.git
$ cd nextjs-website
$ yarn
$ yarn dev
```

If you want to make work counting view and Spotify features you need to copy config and put credentials there.

```
$ cp .env.example .env.local
```
Edit the `.env.local`: specify the URL, port and password to your Redis database. I'm hosting mine on an [AWS EC2](https://aws.amazon.com/pm/ec2/?gclid=Cj0KCQjwztOwBhD7ARIsAPDKnkBNwCckd88iZw_ImrQtJ6NdJtz0urX3r8iVv5l8Y1pMtaZLswwbYYgaAjWBEALw_wcB&trk=8d7982dd-fe3b-4952-ae11-337e59d552aa&sc_channel=ps&ef_id=Cj0KCQjwztOwBhD7ARIsAPDKnkBNwCckd88iZw_ImrQtJ6NdJtz0urX3r8iVv5l8Y1pMtaZLswwbYYgaAjWBEALw_wcB:G:s&s_kwcid=AL!4422!3!530706572075!e!!g!!aws%20ec2!13705463409!124614255496) micro instance. You can host Redis anywhere, just make sure you can access it.

### Built Using
## Built Using

- [Next.js](https://nextjs.org/)
- [MDX](https://github.com/mdx-js/mdx)
Expand All @@ -48,12 +24,24 @@ $ cp .env.example .env.local
Hosted on [Vercel](https://vercel.com), accelerated by [Cloudflare](https://cloundflare.com)


# My notes

```bash
yarn dev
```
# Notes

- You can used the `ProjectWithBadges` component for projects both without MDX (as in localhost:3000/test) or with MDX (as in Projects)

- **Routing** don't need the page to be in a router, you can just acces it by directly goint to /that_page (as long as it's in the `pages` folder)
- **Routing** don't need the page to be in a router, you can just acces it by directly going to /that_page (as long as it's in the `pages` folder)

## next.js course

https://www.youtube.com/watch?v=mTz0GXj8NN0&t=3698s

## TODO

- make Research, Blog, Projects beautiful

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fakellbl4%2Fpavel.mineev.me)

From the very start to not so long ago my site was just several links to my social media and contacts. Since I started to write about development I decided to have my place where I can write what I want. So, I decided to use Next.js, Tailwind, and MDX as the base for my website.

# Credits

This website was built off Pavel Mineev work. Check out his [GitHub](https://github.com/akellbl4).
24 changes: 7 additions & 17 deletions data/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,15 @@
title: About Me
---

Hey, my name is Roman Koshkin.
Hey👋, my name is Roman Koshkin.

As a big AI enthusiast, I can't wait to see the next big thing in AI. I strongly believe that for any serious progress towards next-generation AI, we need to fixate less on backprop and instead try more to understand and reverse-engineer biological neural circuits. If you think this is an insane challenge, I agree. But it's worth the effort. To help make this a reality, I joined the <Link href="https://groups.oist.jp/ncbc">Neural Coding and Brain Computing Unit at OIST</Link>, where I am now investigating how the brain is able to learn so quickly and efficiently.

---

My recent research has been under the following themes:

- <b>Self-organized cell assemblies as a substrate of episodic memory</b>: Model of asscociative
memory under a biologically-inspired STP-dependent symmetric STDP learning rule.
- <b>Sequence preplay for sample-efficient memory</b>: I am modeling how new episodes can be
bootstrapped from preexisting topological and temporal structure of a contineously plastic binary
neural network.
- <b>Role of spontaneous neural activity in memory</b>: Spontaneous neural activity in animals has
been shown to reflect sensory priors. I aim to develop a biologically plausible simplified SNN
model that can reliably store sensory priors and use them for task performance.
I am a computational neuroscience PhD student at the <Link href="/about#projects" className="transition-color duration-300 hover:text-gray-600 dark:hover:text-gray-200"> Neural Coding and Brain Computing Unit</Link> (OIST), which I joined with a vision of building next-gen AI systems that rival the speed and efficiency of biological brains. As a former linguist, I am also interested in simultaneous machine translation, and multi-agent reasoning. I love making things that work.

Before I joined the NCBC, I had spent four months at the Cognitive Neurorobotics Unit where I 'taught' a humanoid robot to perform a reach-and-grasp task by combining a limited set of learned motor primitives into diverse and novel motion trajectories. This work was inspired by the stochastic PV-RNN architecture.

As I am exploring this frontier as a scientist, I have several side projects (mostly in deep learning). I also like to [share](https://twitter.com) what my expertise in this area.
As I am exploring this frontier as a scientist, I have several side projects (mostly in deep learning).

## Miscellaneous

<RecipeReviewCard></RecipeReviewCard>
- I was a master's student of Dr. Alex Ossadtchi at the Center for Bioelectric Interfaces.
- As a hobby, I build bots for medium-frequency crypto trading, multi-agent LLM-based chatbots and customized image generation models.
50 changes: 29 additions & 21 deletions data/projects.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,27 @@
title: Projects
---

## Recent
## Ongoing

<div className="grid sm:grid-cols-2 gap-6">
<ProjectWithBadges url="https://roman-koshkin.unit.oist.jp/gpt" title="🗡️SwordFish" badges={["NLP", "LLM", "AI"]}>
Locally-run custom-tuned chatbot.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/S2ST" title="🦙TransLLaMa" badges={["NLP", "LLMOps", "machine translation", "MLOps"]}>
LLM-based simultaneous speech-to-text machine translation.
<ProjectWithBadges url="https://github.com/RomanKoshkin/SoNNet" title="✨SoNNet" badges={["C++", "Python", "AI", "spiking network"]}>
A fast implementation of a recurrent binary spiking neural network written in C++ easily configurable through a Python API. I'm using this code to build biologically plausible and experimentally constrained models of spontaneous activity (SA), which is implicated in memory, spatial navigation and learning.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/arayabrain/speech-decoding" title="🔥M/EEG Speech Decoding" badges={["EEG", "contrastive learning", "MLOps"]}>
Implementation of MetaAI's model for zero-shot decoding speech from M/EEG signal.
<ProjectWithBadges url="https://roman-koshkin.unit.oist.jp/gpt" title="🗡️SwordFish" badges={["NLP", "LLM", "AI"]}>
GPT-like chatbot powered by a locally-run custom-tuned mixture-of-experts model.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/spiking-autoencoder" title="⚡️⚡️Spiking Autoencoder" badges={["C++", "Python", "computational neuroscience", "SNN"]}>
An SNN-based model of episodic memory that encodes sequential information in the form of cell
assemblies.
</div>

## Recent

<div className="grid sm:grid-cols-2 gap-6">
<ProjectWithBadges url="https://github.com/RomanKoshkin/transllama" title="🦙TransLLaMa" badges={["NLP", "LLMOps", "machine translation", "MLOps"]}>
LLM-based simultaneous speech-to-text machine translation. Decoder-only large language models (LLMs) have recently demonstrated impressive capabilities in text generation and reasoning. Nonetheless, they have limited applications in simultaneous machine translation (SiMT), currently dominated by encoder-decoder transformers. This study demonstrates that, after fine-tuning on a small dataset comprising causally aligned source and target sentence pairs, a pre-trained open-source LLM can control input segmentation directly by generating a special "wait" token. This obviates the need for a separate policy and enables the LLM to perform English-German and English-Russian SiMT tasks with BLEU scores that are comparable to those of specific state-of-the-art baselines. We also evaluated closed-source models such as GPT-4, which displayed encouraging results in performing the SiMT task without prior training (zero-shot), indicating a promising avenue for enhancing future SiMT systems.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/convSeq" title="🧠convSeq" badges={["DL", "computational neuroscience"]}>
<ProjectWithBadges url="https://github.com/RomanKoshkin/conv-seq" title="🧠convSeq" badges={["DL", "computational neuroscience"]}>
A fast and scalable method for detecting spatio-temporal pattern in spike data. Check out the paper and code.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/graphSeq" title="፨graphSeq" badges={["DL", "GNN","computational neuroscience"]}>
<ProjectWithBadges url="https://github.com/RomanKoshkin/graph-seq" title="፨graphSeq" badges={["DL", "GNN","computational neuroscience"]}>
A graph neural network-based method for embedding spike data into a sequence of fixed size vectors and clustering them based on their self-similarity across time.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/Alienify" title="👽Alienify" badges={["GAN", "GenAI", "Image generation"]}>
Expand All @@ -31,12 +32,19 @@ title: Projects
</ProjectWithBadges>
</div>

## Past
## Way back

### Neurobarometer

Neurobarometer was a project funded by Neurontrend LLC and the Russian Venture Company to develop an algorithm for objective estimation of people's affective state for neuromarketing research. Based our method (now patented), we built an easy-to-use application that provides a bias-free estimate of respondents' opinion of a product sample based on real-time 32-channel EEG. The first prototype was built in 2019, and the application is now ready and sold to enterprise customers. My responsibilities in this project included developing optimal data preprocessing pipelines and a robust prediction model.

### Human-Robot Interaction

This project explored the ability of stochastic recurrent neural networks trained on a small set of motor primitives to generate meaningful novel patterns with limited corrective feedback from the experimenter.
<div className="grid sm:grid-cols-2 gap-6">
<ProjectWithBadges url="https://github.com/arayabrain/speech-decoding" title="🔥M/EEG Speech Decoding" badges={["EEG", "contrastive learning", "MLOps"]}>
Implementation of MetaAI's model for zero-shot decoding speech from M/EEG signal. I did this project during my research internship at Araya, where I contributed to re-implementing a model that decodes speech from non-invasive brain recordings (M/EEG), zero-shot.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/robo" title="Virtual Robot" badges={["CNN", "RNN", "VREP", "computer vision"]}>
This project used convolutional and recurrent neural networks (RNN) in a visually-guided robot control task. CNNs work best when used for visual feature extraction from raw pixels, while RNNs are capable of capturing temporal dependencies and can make 'decisions' based on previously encountered states. This property is essential for stateful agents, i.e. those capable of making appropriate choices given not only the current but also a sequence of prior states. A case in point is a robot that has the seemingly simple task of following a figure-of-eight-shaped track. When such a robot moves along the track and reaches the intersection of two lines it must continue to move naturally along the track without getting stuck in one lap of the figure of eight. This is only possible if the model that maps the robot's current position to the wheels' speeds takes into account not only were the robot is, but also where it was a few moments before. In what follows below I describe my project in which a simulated robot was controlled by a CNN-RNN model. The model was able to reach satisfactory performance and even some robustness against mild visual noise and mild physical disturbances knocking the robot off the track.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/NeuroBarometer" title="🧭NeuroBarometer" badges={["Python", "EEG", "ML/DL", "signal processing"]}>
Neurobarometer was a project funded by Neurontrend LLC and the Russian Venture Company to develop an algorithm for objective estimation of people's affective state for neuromarketing research. Based our method (now patented), we built an easy-to-use application that provides a bias-free estimate of respondents' opinion of a product sample based on real-time 32-channel EEG. The first prototype was built in 2019, and the application is now ready and sold to enterprise customers. My responsibilities in this project included developing optimal data preprocessing pipelines and a robust prediction model.
</ProjectWithBadges>
<ProjectWithBadges url="https://github.com/RomanKoshkin/human-robot-interaction" title="🦾ToRobo" badges={["Python", "robotics", "ML/DL", "computer vision"]}>
This project explored the ability of recurrent neural networks trained on a small set of motor primitives to generate meaningful novel patterns with limited corrective feedback from the experimenter.
</ProjectWithBadges>
</div>
Loading

0 comments on commit 88ac6ff

Please sign in to comment.