--- id: wiki-2026-0508-brain-computer-interface-bci title: Brain-Computer Interface (BCI) category: 10_Wiki/Topics status: verified canonical_id: self aliases: [BCI, BMI, brain-computer interface, Neuralink, EEG, neuroprosthesis, neuro-rights] duplicate_of: none source_trust_level: B confidence_score: 0.85 verification_status: applied tags: [bci, neuroscience, neuralink, eeg, motor-prosthesis, neuro-rights, ethics, biomedical] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: Python / C++ framework: BrainFlow / OpenBCI / MNE --- # Brain-Computer Interface (BCI) ## 📌 한 줄 통찰 > **"매 thought 의 direct digital translation"**. 매 brain signal 의 capture → 매 ML decode → 매 output (mouse, prosthesis, text). 매 modern AI 의 surge — 매 LLM-aided decoding 의 accuracy boost. 매 ethics: 매 neuro-rights, 매 mind privacy. ## 📖 핵심 ### 매 invasive vs non-invasive #### Invasive - **Utah Array** (BrainGate): 매 cortex 의 100 electrode. - **Neuralink** (Threads): 매 1024 channel, 매 robotic insertion. - **ECoG** (Electrocorticography): 매 surface, 매 less invasive. - ✅ 매 high SNR. ✅ 매 spatial resolution. - ❌ 매 surgery. 매 infection risk. 매 long-term degradation. #### Non-invasive - **EEG**: 매 scalp electrode. 매 cheap, 매 noisy. - **MEG**: 매 magnetic. 매 expensive, 매 stationary. - **fMRI**: 매 hemodynamic. 매 slow. - **fNIRS**: 매 hemodynamic + 매 portable. - ✅ 매 safe. ✅ 매 reversible. - ❌ 매 low resolution. ### 매 signal type - **Spike**: 매 single neuron firing (invasive). - **LFP** (Local Field Potential): 매 population. - **EEG band**: δ (1-4Hz), θ (4-8), α (8-13), β (13-30), γ (30-100). - **ERP** (Event-Related Potential): P300, N400. - **Motor cortex 의 movement direction**: 매 BrainGate 의 base. ### 매 paradigm - **Motor imagery**: 매 think 의 left/right hand. - **P300 speller**: 매 매 character 의 oddball. - **SSVEP** (Steady-State Visual Evoked Potential): 매 frequency-tagged stimulus. - **Direct neural decoding**: 매 latest 의 trend. ### 매 modern milestone - **2023 Stanford**: 매 paralyzed patient 의 매 분 의 60 word. - **2024 UC Davis**: 매 ALS patient 의 매 12K word vocab. - **2024 Neuralink**: 매 first human 의 N1 implant. - **2024 Synchron**: 매 vascular stent (less invasive). - **2025 Brain.io / Precision Neuroscience**: 매 surface recording. ### 매 응용 1. **Locked-in syndrome**: 매 communication. 2. **Spinal cord injury**: 매 prosthesis control. 3. **Speech restoration**: 매 ALS / stroke. 4. **Vision restoration**: 매 cortical implant. 5. **Hearing**: 매 cochlear implant (의 standard). 6. **Depression / OCD**: 매 deep brain stimulation. 7. **Augmentation** (controversial): 매 healthy human. 8. **VR / gaming**: 매 commercial (Emotiv, Neurable). ### 매 LLM 결합 (2024+) - 매 brain signal → 매 candidate words → 매 LLM 의 disambiguate. - 매 sparse decoding 의 fluent output. - 매 Stanford Brain-to-Text Pipeline. ### 매 ethics #### Neuro-rights (Ienca, Yuste) 1. **Cognitive liberty**: 매 mind 의 autonomy. 2. **Mental privacy**: 매 thought 의 protect. 3. **Mental integrity**: 매 manipulation X. 4. **Psychological continuity**: 매 identity 의 protect. 5. **Equal access**: 매 enhancement gap. → Chile (2021), Spain (proposing) 의 첫 입법. #### 매 issue - **Mind reading**: 매 surveillance. - **Data ownership**: 매 brain data 의 누구. - **Manipulation**: 매 advertising. - **Identity**: 매 augment 의 self. - **Inequality**: 매 access 의 wealth-based. ### 매 modern challenge 1. **Long-term stability**: 매 implant 의 degrade. 2. **Decoder drift**: 매 brain plasticity. 3. **Signal-to-noise**: 매 EEG 의 limit. 4. **Bandwidth**: 매 thought 의 high-dim. 5. **Surgery cost**: 매 invasive 의 access. 6. **Regulation**: 매 FDA 의 slow. ## 💻 패턴 ### EEG 데이터 의 read (BrainFlow) ```python from brainflow.board_shim import BoardShim, BoardIds, BrainFlowInputParams params = BrainFlowInputParams() board = BoardShim(BoardIds.SYNTHETIC_BOARD.value, params) board.prepare_session() board.start_stream() import time time.sleep(5) data = board.get_board_data() # (channels, samples) board.stop_stream() board.release_session() # (n_channels, n_samples) print(data.shape) ``` ### EEG band power ```python import numpy as np from scipy.signal import welch def band_power(data, fs=250, band=(8, 13)): """매 alpha (8-13 Hz) 의 power.""" freqs, psd = welch(data, fs=fs, nperseg=fs*2) band_idx = (freqs >= band[0]) & (freqs <= band[1]) return np.mean(psd[..., band_idx], axis=-1) alpha = band_power(eeg_signal, band=(8, 13)) beta = band_power(eeg_signal, band=(13, 30)) ``` ### Motor imagery classifier ```python from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from mne.decoding import CSP # 매 CSP (Common Spatial Patterns) — 매 BCI 의 classic csp = CSP(n_components=4, reg=None) X_csp = csp.fit_transform(epochs.data, labels) clf = LinearDiscriminantAnalysis() clf.fit(X_csp, labels) ``` ### Deep learning EEG (EEGNet) ```python import torch import torch.nn as nn class EEGNet(nn.Module): def __init__(self, n_classes=2, n_channels=64, samples=128): super().__init__() self.conv1 = nn.Conv2d(1, 8, (1, 64), padding=(0, 32)) self.bn1 = nn.BatchNorm2d(8) self.depthwise = nn.Conv2d(8, 16, (n_channels, 1), groups=8) self.bn2 = nn.BatchNorm2d(16) self.pool = nn.AvgPool2d((1, 4)) self.classifier = nn.Linear(16 * (samples // 4 // 8), n_classes) def forward(self, x): # x: (B, 1, C, T) x = self.pool(F.elu(self.bn2(self.depthwise(F.elu(self.bn1(self.conv1(x))))))) return self.classifier(x.flatten(1)) ``` ### Brain-to-text decoding (LLM-aided) ```python def decode_with_llm(brain_signal, vocab_decoder, llm): # 매 1. 매 brain → 매 candidate words (top-K) candidates_per_step = vocab_decoder.decode(brain_signal, top_k=5) # 매 2. 매 LLM 의 disambiguate (beam search) sentences = beam_search(candidates_per_step, llm, beam=5) return sentences[0] ``` ### Online BCI loop (real-time) ```python async def bci_loop(board, decoder, output_device): buffer = [] while True: new_samples = await board.read_async() # ~ 50 ms buffer.append(new_samples) if len(buffer) >= window_size: decoded = decoder.predict(np.concatenate(buffer)) output_device.send(decoded) buffer = buffer[-overlap:] await asyncio.sleep(0.04) # 25 Hz update ``` ### Privacy: differential privacy on brain data ```python def add_noise_to_brain_data(signal, epsilon=1.0): # 매 individual epoch 의 share 의 protect noise = np.random.laplace(0, 1/epsilon, size=signal.shape) return signal + noise # 매 federated learning 의 raw data 의 leave 의 X ``` ## 🤔 결정 기준 | 응용 | Approach | |---|---| | Paralyzed communication | Invasive (Utah / Neuralink) | | Consumer / wellness | EEG (Muse, Emotiv) | | Research | OpenBCI + MNE | | Speech restoration | Cortical + LLM | | VR / gaming | EEG / fNIRS | | Mood / focus | EEG band (α/β ratio) | | Augmentation | 매 ethics 의 first | **기본값**: 매 medical = invasive + LLM. 매 consumer = EEG + classical ML. ## 🔗 Graph - 부모: [[Biomedical-Engineering]] · [[HCI]] - 변형: [[Neuralink]] - Adjacent: [[EEG]] · [[CSP]] · [[Bayesian-Brain-Hypothesis]] - 윤리: [[Neuro-Rights]] ## 🤖 LLM 활용 **언제**: 매 BCI system design. 매 EEG decoding. 매 medical use case. 매 neuro-rights policy. **언제 X**: 매 medical advice (의사). 매 specific clinical decision. ## ❌ 안티패턴 - **EEG 의 over-claim** (consumer): 매 mind reading 의 marketing. - **Decoder 의 train-test 의 same session**: 매 drift 의 fail. - **No calibration**: 매 user 의 다름. - **No privacy**: 매 brain data 의 leak. - **Mind 의 surveil 의 consent X**: 매 violation. - **Augmentation 의 unreviewed**: 매 long-term effect 의 X. ## 🧪 검증 / 중복 - Verified (BrainGate, Neuralink, Stanford speech BCI papers, Ienca neuro-rights). - 신뢰도 B. - Related: [[EEG]] · [[Neuralink]] · [[Bayesian-Brain-Hypothesis]] · [[Neuro-Rights]] · [[Atmospheric-Intelligence]]. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — invasive/non + paradigm + LLM-aided + neuro-rights + 매 EEG / EEGNet code |