$ \newcommand{\undefined}{} \newcommand{\hfill}{} \newcommand{\qedhere}{\square} \newcommand{\qed}{\square} \newcommand{\ensuremath}[1]{#1} \newcommand{\bit}{\{0,1\}} \newcommand{\Bit}{\{-1,1\}} \newcommand{\Stab}{\mathbf{Stab}} \newcommand{\NS}{\mathbf{NS}} \newcommand{\ba}{\mathbf{a}} \newcommand{\bc}{\mathbf{c}} \newcommand{\bd}{\mathbf{d}} \newcommand{\be}{\mathbf{e}} \newcommand{\bh}{\mathbf{h}} \newcommand{\br}{\mathbf{r}} \newcommand{\bs}{\mathbf{s}} \newcommand{\bx}{\mathbf{x}} \newcommand{\by}{\mathbf{y}} \newcommand{\bz}{\mathbf{z}} \newcommand{\Var}{\mathbf{Var}} \newcommand{\dist}{\text{dist}} \newcommand{\norm}[1]{\\|#1\\|} \newcommand{\etal} \newcommand{\ie} \newcommand{\eg} \newcommand{\cf} \newcommand{\rank}{\text{rank}} \newcommand{\tr}{\text{tr}} \newcommand{\mor}{\text{Mor}} \newcommand{\hom}{\text{Hom}} \newcommand{\id}{\text{id}} \newcommand{\obj}{\text{obj}} \newcommand{\pr}{\text{pr}} \newcommand{\ker}{\text{ker}} \newcommand{\coker}{\text{coker}} \newcommand{\im}{\text{im}} \newcommand{\vol}{\text{vol}} \newcommand{\disc}{\text{disc}} \newcommand{\bbA}{\mathbb A} \newcommand{\bbB}{\mathbb B} \newcommand{\bbC}{\mathbb C} \newcommand{\bbD}{\mathbb D} \newcommand{\bbE}{\mathbb E} \newcommand{\bbF}{\mathbb F} \newcommand{\bbG}{\mathbb G} \newcommand{\bbH}{\mathbb H} \newcommand{\bbI}{\mathbb I} \newcommand{\bbJ}{\mathbb J} \newcommand{\bbK}{\mathbb K} \newcommand{\bbL}{\mathbb L} \newcommand{\bbM}{\mathbb M} \newcommand{\bbN}{\mathbb N} \newcommand{\bbO}{\mathbb O} \newcommand{\bbP}{\mathbb P} \newcommand{\bbQ}{\mathbb Q} \newcommand{\bbR}{\mathbb R} \newcommand{\bbS}{\mathbb S} \newcommand{\bbT}{\mathbb T} \newcommand{\bbU}{\mathbb U} \newcommand{\bbV}{\mathbb V} \newcommand{\bbW}{\mathbb W} \newcommand{\bbX}{\mathbb X} \newcommand{\bbY}{\mathbb Y} \newcommand{\bbZ}{\mathbb Z} \newcommand{\sA}{\mathscr A} \newcommand{\sB}{\mathscr B} \newcommand{\sC}{\mathscr C} \newcommand{\sD}{\mathscr D} \newcommand{\sE}{\mathscr E} \newcommand{\sF}{\mathscr F} \newcommand{\sG}{\mathscr G} \newcommand{\sH}{\mathscr H} \newcommand{\sI}{\mathscr I} \newcommand{\sJ}{\mathscr J} \newcommand{\sK}{\mathscr K} \newcommand{\sL}{\mathscr L} \newcommand{\sM}{\mathscr M} \newcommand{\sN}{\mathscr N} \newcommand{\sO}{\mathscr O} \newcommand{\sP}{\mathscr P} \newcommand{\sQ}{\mathscr Q} \newcommand{\sR}{\mathscr R} \newcommand{\sS}{\mathscr S} \newcommand{\sT}{\mathscr T} \newcommand{\sU}{\mathscr U} \newcommand{\sV}{\mathscr V} \newcommand{\sW}{\mathscr W} \newcommand{\sX}{\mathscr X} \newcommand{\sY}{\mathscr Y} \newcommand{\sZ}{\mathscr Z} \newcommand{\sfA}{\mathsf A} \newcommand{\sfB}{\mathsf B} \newcommand{\sfC}{\mathsf C} \newcommand{\sfD}{\mathsf D} \newcommand{\sfE}{\mathsf E} \newcommand{\sfF}{\mathsf F} \newcommand{\sfG}{\mathsf G} \newcommand{\sfH}{\mathsf H} \newcommand{\sfI}{\mathsf I} \newcommand{\sfJ}{\mathsf J} \newcommand{\sfK}{\mathsf K} \newcommand{\sfL}{\mathsf L} \newcommand{\sfM}{\mathsf M} \newcommand{\sfN}{\mathsf N} \newcommand{\sfO}{\mathsf O} \newcommand{\sfP}{\mathsf P} \newcommand{\sfQ}{\mathsf Q} \newcommand{\sfR}{\mathsf R} \newcommand{\sfS}{\mathsf S} \newcommand{\sfT}{\mathsf T} \newcommand{\sfU}{\mathsf U} \newcommand{\sfV}{\mathsf V} \newcommand{\sfW}{\mathsf W} \newcommand{\sfX}{\mathsf X} \newcommand{\sfY}{\mathsf Y} \newcommand{\sfZ}{\mathsf Z} \newcommand{\cA}{\mathcal A} \newcommand{\cB}{\mathcal B} \newcommand{\cC}{\mathcal C} \newcommand{\cD}{\mathcal D} \newcommand{\cE}{\mathcal E} \newcommand{\cF}{\mathcal F} \newcommand{\cG}{\mathcal G} \newcommand{\cH}{\mathcal H} \newcommand{\cI}{\mathcal I} \newcommand{\cJ}{\mathcal J} \newcommand{\cK}{\mathcal K} \newcommand{\cL}{\mathcal L} \newcommand{\cM}{\mathcal M} \newcommand{\cN}{\mathcal N} \newcommand{\cO}{\mathcal O} \newcommand{\cP}{\mathcal P} \newcommand{\cQ}{\mathcal Q} \newcommand{\cR}{\mathcal R} \newcommand{\cS}{\mathcal S} \newcommand{\cT}{\mathcal T} \newcommand{\cU}{\mathcal U} \newcommand{\cV}{\mathcal V} \newcommand{\cW}{\mathcal W} \newcommand{\cX}{\mathcal X} \newcommand{\cY}{\mathcal Y} \newcommand{\cZ}{\mathcal Z} \newcommand{\bfA}{\mathbf A} \newcommand{\bfB}{\mathbf B} \newcommand{\bfC}{\mathbf C} \newcommand{\bfD}{\mathbf D} \newcommand{\bfE}{\mathbf E} \newcommand{\bfF}{\mathbf F} \newcommand{\bfG}{\mathbf G} \newcommand{\bfH}{\mathbf H} \newcommand{\bfI}{\mathbf I} \newcommand{\bfJ}{\mathbf J} \newcommand{\bfK}{\mathbf K} \newcommand{\bfL}{\mathbf L} \newcommand{\bfM}{\mathbf M} \newcommand{\bfN}{\mathbf N} \newcommand{\bfO}{\mathbf O} \newcommand{\bfP}{\mathbf P} \newcommand{\bfQ}{\mathbf Q} \newcommand{\bfR}{\mathbf R} \newcommand{\bfS}{\mathbf S} \newcommand{\bfT}{\mathbf T} \newcommand{\bfU}{\mathbf U} \newcommand{\bfV}{\mathbf V} \newcommand{\bfW}{\mathbf W} \newcommand{\bfX}{\mathbf X} \newcommand{\bfY}{\mathbf Y} \newcommand{\bfZ}{\mathbf Z} \newcommand{\rmA}{\mathrm A} \newcommand{\rmB}{\mathrm B} \newcommand{\rmC}{\mathrm C} \newcommand{\rmD}{\mathrm D} \newcommand{\rmE}{\mathrm E} \newcommand{\rmF}{\mathrm F} \newcommand{\rmG}{\mathrm G} \newcommand{\rmH}{\mathrm H} \newcommand{\rmI}{\mathrm I} \newcommand{\rmJ}{\mathrm J} \newcommand{\rmK}{\mathrm K} \newcommand{\rmL}{\mathrm L} \newcommand{\rmM}{\mathrm M} \newcommand{\rmN}{\mathrm N} \newcommand{\rmO}{\mathrm O} \newcommand{\rmP}{\mathrm P} \newcommand{\rmQ}{\mathrm Q} \newcommand{\rmR}{\mathrm R} \newcommand{\rmS}{\mathrm S} \newcommand{\rmT}{\mathrm T} \newcommand{\rmU}{\mathrm U} \newcommand{\rmV}{\mathrm V} \newcommand{\rmW}{\mathrm W} \newcommand{\rmX}{\mathrm X} \newcommand{\rmY}{\mathrm Y} \newcommand{\rmZ}{\mathrm Z} \newcommand{\bb}{\mathbf{b}} \newcommand{\bv}{\mathbf{v}} \newcommand{\bw}{\mathbf{w}} \newcommand{\bx}{\mathbf{x}} \newcommand{\by}{\mathbf{y}} \newcommand{\bz}{\mathbf{z}} \newcommand{\paren}[1]{( #1 )} \newcommand{\Paren}[1]{\left( #1 \right)} \newcommand{\bigparen}[1]{\bigl( #1 \bigr)} \newcommand{\Bigparen}[1]{\Bigl( #1 \Bigr)} \newcommand{\biggparen}[1]{\biggl( #1 \biggr)} \newcommand{\Biggparen}[1]{\Biggl( #1 \Biggr)} \newcommand{\abs}[1]{\lvert #1 \rvert} \newcommand{\Abs}[1]{\left\lvert #1 \right\rvert} \newcommand{\bigabs}[1]{\bigl\lvert #1 \bigr\rvert} \newcommand{\Bigabs}[1]{\Bigl\lvert #1 \Bigr\rvert} \newcommand{\biggabs}[1]{\biggl\lvert #1 \biggr\rvert} \newcommand{\Biggabs}[1]{\Biggl\lvert #1 \Biggr\rvert} \newcommand{\card}[1]{\left| #1 \right|} \newcommand{\Card}[1]{\left\lvert #1 \right\rvert} \newcommand{\bigcard}[1]{\bigl\lvert #1 \bigr\rvert} \newcommand{\Bigcard}[1]{\Bigl\lvert #1 \Bigr\rvert} \newcommand{\biggcard}[1]{\biggl\lvert #1 \biggr\rvert} \newcommand{\Biggcard}[1]{\Biggl\lvert #1 \Biggr\rvert} \newcommand{\norm}[1]{\lVert #1 \rVert} \newcommand{\Norm}[1]{\left\lVert #1 \right\rVert} \newcommand{\bignorm}[1]{\bigl\lVert #1 \bigr\rVert} \newcommand{\Bignorm}[1]{\Bigl\lVert #1 \Bigr\rVert} \newcommand{\biggnorm}[1]{\biggl\lVert #1 \biggr\rVert} \newcommand{\Biggnorm}[1]{\Biggl\lVert #1 \Biggr\rVert} \newcommand{\iprod}[1]{\langle #1 \rangle} \newcommand{\Iprod}[1]{\left\langle #1 \right\rangle} \newcommand{\bigiprod}[1]{\bigl\langle #1 \bigr\rangle} \newcommand{\Bigiprod}[1]{\Bigl\langle #1 \Bigr\rangle} \newcommand{\biggiprod}[1]{\biggl\langle #1 \biggr\rangle} \newcommand{\Biggiprod}[1]{\Biggl\langle #1 \Biggr\rangle} \newcommand{\set}[1]{\lbrace #1 \rbrace} \newcommand{\Set}[1]{\left\lbrace #1 \right\rbrace} \newcommand{\bigset}[1]{\bigl\lbrace #1 \bigr\rbrace} \newcommand{\Bigset}[1]{\Bigl\lbrace #1 \Bigr\rbrace} \newcommand{\biggset}[1]{\biggl\lbrace #1 \biggr\rbrace} \newcommand{\Biggset}[1]{\Biggl\lbrace #1 \Biggr\rbrace} \newcommand{\bracket}[1]{\lbrack #1 \rbrack} \newcommand{\Bracket}[1]{\left\lbrack #1 \right\rbrack} \newcommand{\bigbracket}[1]{\bigl\lbrack #1 \bigr\rbrack} \newcommand{\Bigbracket}[1]{\Bigl\lbrack #1 \Bigr\rbrack} \newcommand{\biggbracket}[1]{\biggl\lbrack #1 \biggr\rbrack} \newcommand{\Biggbracket}[1]{\Biggl\lbrack #1 \Biggr\rbrack} \newcommand{\ucorner}[1]{\ulcorner #1 \urcorner} \newcommand{\Ucorner}[1]{\left\ulcorner #1 \right\urcorner} \newcommand{\bigucorner}[1]{\bigl\ulcorner #1 \bigr\urcorner} \newcommand{\Bigucorner}[1]{\Bigl\ulcorner #1 \Bigr\urcorner} \newcommand{\biggucorner}[1]{\biggl\ulcorner #1 \biggr\urcorner} \newcommand{\Biggucorner}[1]{\Biggl\ulcorner #1 \Biggr\urcorner} \newcommand{\ceil}[1]{\lceil #1 \rceil} \newcommand{\Ceil}[1]{\left\lceil #1 \right\rceil} \newcommand{\bigceil}[1]{\bigl\lceil #1 \bigr\rceil} \newcommand{\Bigceil}[1]{\Bigl\lceil #1 \Bigr\rceil} \newcommand{\biggceil}[1]{\biggl\lceil #1 \biggr\rceil} \newcommand{\Biggceil}[1]{\Biggl\lceil #1 \Biggr\rceil} \newcommand{\floor}[1]{\lfloor #1 \rfloor} \newcommand{\Floor}[1]{\left\lfloor #1 \right\rfloor} \newcommand{\bigfloor}[1]{\bigl\lfloor #1 \bigr\rfloor} \newcommand{\Bigfloor}[1]{\Bigl\lfloor #1 \Bigr\rfloor} \newcommand{\biggfloor}[1]{\biggl\lfloor #1 \biggr\rfloor} \newcommand{\Biggfloor}[1]{\Biggl\lfloor #1 \Biggr\rfloor} \newcommand{\lcorner}[1]{\llcorner #1 \lrcorner} \newcommand{\Lcorner}[1]{\left\llcorner #1 \right\lrcorner} \newcommand{\biglcorner}[1]{\bigl\llcorner #1 \bigr\lrcorner} \newcommand{\Biglcorner}[1]{\Bigl\llcorner #1 \Bigr\lrcorner} \newcommand{\bigglcorner}[1]{\biggl\llcorner #1 \biggr\lrcorner} \newcommand{\Bigglcorner}[1]{\Biggl\llcorner #1 \Biggr\lrcorner} \newcommand{\ket}[1]{| #1 \rangle} \newcommand{\bra}[1]{\langle #1 |} \newcommand{\braket}[2]{\langle #1 | #2 \rangle} \newcommand{\ketbra}[1]{| #1 \rangle\langle #1 |} \newcommand{\e}{\varepsilon} \newcommand{\eps}{\varepsilon} \newcommand{\from}{\colon} \newcommand{\super}[2]{#1^{(#2)}} \newcommand{\varsuper}[2]{#1^{\scriptscriptstyle (#2)}} \newcommand{\tensor}{\otimes} \newcommand{\eset}{\emptyset} \newcommand{\sse}{\subseteq} \newcommand{\sst}{\substack} \newcommand{\ot}{\otimes} \newcommand{\Esst}[1]{\bbE_{\substack{#1}}} \newcommand{\vbig}{\vphantom{\bigoplus}} \newcommand{\seteq}{\mathrel{\mathop:}=} \newcommand{\defeq}{\stackrel{\mathrm{def}}=} \newcommand{\Mid}{\mathrel{}\middle|\mathrel{}} \newcommand{\Ind}{\mathbf 1} \newcommand{\bits}{\{0,1\}} \newcommand{\sbits}{\{\pm 1\}} \newcommand{\R}{\mathbb R} \newcommand{\Rnn}{\R_{\ge 0}} \newcommand{\N}{\mathbb N} \newcommand{\Z}{\mathbb Z} \newcommand{\Q}{\mathbb Q} \newcommand{\C}{\mathbb C} \newcommand{\A}{\mathbb A} \newcommand{\Real}{\mathbb R} \newcommand{\mper}{\,.} \newcommand{\mcom}{\,,} \DeclareMathOperator{\Id}{Id} \DeclareMathOperator{\cone}{cone} \DeclareMathOperator{\vol}{vol} \DeclareMathOperator{\val}{val} \DeclareMathOperator{\opt}{opt} \DeclareMathOperator{\Opt}{Opt} \DeclareMathOperator{\Val}{Val} \DeclareMathOperator{\LP}{LP} \DeclareMathOperator{\SDP}{SDP} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Inf}{Inf} \DeclareMathOperator{\size}{size} \DeclareMathOperator{\poly}{poly} \DeclareMathOperator{\polylog}{polylog} \DeclareMathOperator{\min}{min} \DeclareMathOperator{\max}{max} \DeclareMathOperator{\argmax}{arg\,max} \DeclareMathOperator{\argmin}{arg\,min} \DeclareMathOperator{\qpoly}{qpoly} \DeclareMathOperator{\qqpoly}{qqpoly} \DeclareMathOperator{\conv}{conv} \DeclareMathOperator{\Conv}{Conv} \DeclareMathOperator{\supp}{supp} \DeclareMathOperator{\sign}{sign} \DeclareMathOperator{\perm}{perm} \DeclareMathOperator{\mspan}{span} \DeclareMathOperator{\mrank}{rank} \DeclareMathOperator{\E}{\mathbb E} \DeclareMathOperator{\pE}{\tilde{\mathbb E}} \DeclareMathOperator{\Pr}{\mathbb P} \DeclareMathOperator{\Span}{Span} \DeclareMathOperator{\Cone}{Cone} \DeclareMathOperator{\junta}{junta} \DeclareMathOperator{\NSS}{NSS} \DeclareMathOperator{\SA}{SA} \DeclareMathOperator{\SOS}{SOS} \DeclareMathOperator{\Stab}{\mathbf Stab} \DeclareMathOperator{\Det}{\textbf{Det}} \DeclareMathOperator{\Perm}{\textbf{Perm}} \DeclareMathOperator{\Sym}{\textbf{Sym}} \DeclareMathOperator{\Pow}{\textbf{Pow}} \DeclareMathOperator{\Gal}{\textbf{Gal}} \DeclareMathOperator{\Aut}{\textbf{Aut}} \newcommand{\iprod}[1]{\langle #1 \rangle} \newcommand{\cE}{\mathcal{E}} \newcommand{\E}{\mathbb{E}} \newcommand{\pE}{\tilde{\mathbb{E}}} \newcommand{\N}{\mathbb{N}} \renewcommand{\P}{\mathcal{P}} \notag $
$ \newcommand{\sleq}{\ensuremath{\preceq}} \newcommand{\sgeq}{\ensuremath{\succeq}} \newcommand{\diag}{\ensuremath{\mathrm{diag}}} \newcommand{\support}{\ensuremath{\mathrm{support}}} \newcommand{\zo}{\ensuremath{\{0,1\}}} \newcommand{\pmo}{\ensuremath{\{\pm 1\}}} \newcommand{\uppersos}{\ensuremath{\overline{\mathrm{sos}}}} \newcommand{\lambdamax}{\ensuremath{\lambda_{\mathrm{max}}}} \newcommand{\rank}{\ensuremath{\mathrm{rank}}} \newcommand{\Mslow}{\ensuremath{M_{\mathrm{slow}}}} \newcommand{\Mfast}{\ensuremath{M_{\mathrm{fast}}}} \newcommand{\Mdiag}{\ensuremath{M_{\mathrm{diag}}}} \newcommand{\Mcross}{\ensuremath{M_{\mathrm{cross}}}} \newcommand{\eqdef}{\ensuremath{ =^{def}}} \newcommand{\threshold}{\ensuremath{\mathrm{threshold}}} \newcommand{\vbls}{\ensuremath{\mathrm{vbls}}} \newcommand{\cons}{\ensuremath{\mathrm{cons}}} \newcommand{\edges}{\ensuremath{\mathrm{edges}}} \newcommand{\cl}{\ensuremath{\mathrm{cl}}} \newcommand{\xor}{\ensuremath{\oplus}} \newcommand{\1}{\ensuremath{\mathrm{1}}} \notag $
$ \newcommand{\transpose}[1]{\ensuremath{#1{}^{\mkern-2mu\intercal}}} \newcommand{\dyad}[1]{\ensuremath{#1#1{}^{\mkern-2mu\intercal}}} \newcommand{\nchoose}[1]{\ensuremath} \newcommand{\generated}[1]{\ensuremath{\langle #1 \rangle}} \notag $
$ \newcommand{\eqdef}{\mathbin{\stackrel{\rm def}{=}}} \newcommand{\R} % real numbers \newcommand{\N}} % natural numbers \newcommand{\Z} % integers \newcommand{\F} % a field \newcommand{\Q} % the rationals \newcommand{\C}{\mathbb{C}} % the complexes \newcommand{\poly}} \newcommand{\polylog}} \newcommand{\loglog}}} \newcommand{\zo}{\{0,1\}} \newcommand{\suchthat} \newcommand{\pr}[1]{\Pr\left[#1\right]} \newcommand{\deffont}{\em} \newcommand{\getsr}{\mathbin{\stackrel{\mbox{\tiny R}}{\gets}}} \newcommand{\Exp}{\mathop{\mathrm E}\displaylimits} % expectation \newcommand{\Var}{\mathop{\mathrm Var}\displaylimits} % variance \newcommand{\xor}{\oplus} \newcommand{\GF}{\mathrm{GF}} \newcommand{\eps}{\varepsilon} \notag $
$ \newcommand{\class}[1]{\mathbf{#1}} \newcommand{\coclass}[1]{\mathbf{co\mbox{-}#1}} % and their complements \newcommand{\BPP}{\class{BPP}} \newcommand{\NP}{\class{NP}} \newcommand{\RP}{\class{RP}} \newcommand{\coRP}{\coclass{RP}} \newcommand{\ZPP}{\class{ZPP}} \newcommand{\BQP}{\class{BQP}} \newcommand{\FP}{\class{FP}} \newcommand{\QP}{\class{QuasiP}} \newcommand{\VF}{\class{VF}} \newcommand{\VBP}{\class{VBP}} \newcommand{\VP}{\class{VP}} \newcommand{\VNP}{\class{VNP}} \newcommand{\RNC}{\class{RNC}} \newcommand{\RL}{\class{RL}} \newcommand{\BPL}{\class{BPL}} \newcommand{\coRL}{\coclass{RL}} \newcommand{\IP}{\class{IP}} \newcommand{\AM}{\class{AM}} \newcommand{\MA}{\class{MA}} \newcommand{\QMA}{\class{QMA}} \newcommand{\SBP}{\class{SBP}} \newcommand{\coAM}{\class{coAM}} \newcommand{\coMA}{\class{coMA}} \renewcommand{\P}{\class{P}} \newcommand\prBPP{\class{prBPP}} \newcommand\prRP{\class{prRP}} \newcommand\prP{\class{prP}} \newcommand{\Ppoly}{\class{P/poly}} \newcommand{\NPpoly}{\class{NP/poly}} \newcommand{\coNPpoly}{\class{coNP/poly}} \newcommand{\DTIME}{\class{DTIME}} \newcommand{\TIME}{\class{TIME}} \newcommand{\SIZE}{\class{SIZE}} \newcommand{\SPACE}{\class{SPACE}} \newcommand{\ETIME}{\class{E}} \newcommand{\BPTIME}{\class{BPTIME}} \newcommand{\RPTIME}{\class{RPTIME}} \newcommand{\ZPTIME}{\class{ZPTIME}} \newcommand{\EXP}{\class{EXP}} \newcommand{\ZPEXP}{\class{ZPEXP}} \newcommand{\RPEXP}{\class{RPEXP}} \newcommand{\BPEXP}{\class{BPEXP}} \newcommand{\SUBEXP}{\class{SUBEXP}} \newcommand{\NTIME}{\class{NTIME}} \newcommand{\NL}{\class{NL}} \renewcommand{\L}{\class{L}} \newcommand{\NQP}{\class{NQP}} \newcommand{\NEXP}{\class{NEXP}} \newcommand{\coNEXP}{\coclass{NEXP}} \newcommand{\NPSPACE}{\class{NPSPACE}} \newcommand{\PSPACE}{\class{PSPACE}} \newcommand{\NSPACE}{\class{NSPACE}} \newcommand{\coNSPACE}{\coclass{NSPACE}} \newcommand{\coL}{\coclass{L}} \newcommand{\coP}{\coclass{P}} \newcommand{\coNP}{\coclass{NP}} \newcommand{\coNL}{\coclass{NL}} \newcommand{\coNPSPACE}{\coclass{NPSPACE}} \newcommand{\APSPACE}{\class{APSPACE}} \newcommand{\LINSPACE}{\class{LINSPACE}} \newcommand{\qP}{\class{\tilde{P}}} \newcommand{\PH}{\class{PH}} \newcommand{\EXPSPACE}{\class{EXPSPACE}} \newcommand{\SigmaTIME}[1]{\class{\Sigma_{#1}TIME}} \newcommand{\PiTIME}[1]{\class{\Pi_{#1}TIME}} \newcommand{\SigmaP}[1]{\class{\Sigma_{#1}P}} \newcommand{\PiP}[1]{\class{\Pi_{#1}P}} \newcommand{\DeltaP}[1]{\class{\Delta_{#1}P}} \newcommand{\ATIME}{\class{ATIME}} \newcommand{\ASPACE}{\class{ASPACE}} \newcommand{\AP}{\class{AP}} \newcommand{\AL}{\class{AL}} \newcommand{\APSPACE}{\class{APSPACE}} \newcommand{\VNC}[1]{\class{VNC^{#1}}} \newcommand{\NC}[1]{\class{NC^{#1}}} \newcommand{\AC}[1]{\class{AC^{#1}}} \newcommand{\ACC}[1]{\class{ACC^{#1}}} \newcommand{\TC}[1]{\class{TC^{#1}}} \newcommand{\ShP}{\class{\# P}} \newcommand{\PaP}{\class{\oplus P}} \newcommand{\PCP}{\class{PCP}} \newcommand{\kMIP}[1]{\class{#1\mbox{-}MIP}} \newcommand{\MIP}{\class{MIP}} $
$ \newcommand{\textprob}[1]{\text{#1}} \newcommand{\mathprob}[1]{\textbf{#1}} \newcommand{\Satisfiability}{\textprob{Satisfiability}} \newcommand{\SAT}{\textprob{SAT}} \newcommand{\TSAT}{\textprob{3SAT}} \newcommand{\USAT}{\textprob{USAT}} \newcommand{\UNSAT}{\textprob{UNSAT}} \newcommand{\QPSAT}{\textprob{QPSAT}} \newcommand{\TQBF}{\textprob{TQBF}} \newcommand{\LinProg}{\textprob{Linear Programming}} \newcommand{\LP}{\mathprob{LP}} \newcommand{\Factor}{\textprob{Factoring}} \newcommand{\CircVal}{\textprob{Circuit Value}} \newcommand{\CVAL}{\mathprob{CVAL}} \newcommand{\CircSat}{\textprob{Circuit Satisfiability}} \newcommand{\CSAT}{\textprob{CSAT}} \newcommand{\CycleCovers}{\textprob{Cycle Covers}} \newcommand{\MonCircVal}{\textprob{Monotone Circuit Value}} \newcommand{\Reachability}{\textprob{Reachability}} \newcommand{\Unreachability}{\textprob{Unreachability}} \newcommand{\RCH}{\mathprob{RCH}} \newcommand{\BddHalt}{\textprob{Bounded Halting}} \newcommand{\BH}{\mathprob{BH}} \newcommand{\DiscreteLog}{\textprob{Discrete Log}} \newcommand{\REE}{\mathprob{REE}} \newcommand{\QBF}{\mathprob{QBF}} \newcommand{\MCSP}{\mathprob{MCSP}} \newcommand{\GGEO}{\mathprob{GGEO}} \newcommand{\CKTMIN}{\mathprob{CKT-MIN}} \newcommand{\MINCKT}{\mathprob{MIN-CKT}} \newcommand{\IdentityTest}{\textprob{Identity Testing}} \newcommand{\Majority}{\textprob{Majority}} \newcommand{\CountIndSets}{\textprob{\#Independent Sets}} \newcommand{\Parity}{\textprob{Parity}} \newcommand{\Clique}{\textprob{Clique}} \newcommand{\CountCycles}{\textprob{#Cycles}} \newcommand{\CountPerfMatchings}{\textprob{\#Perfect Matchings}} \newcommand{\CountMatchings}{\textprob{\#Matchings}} \newcommand{\CountMatch}{\mathprob{\#Matchings}} \newcommand{\ECSAT}{\mathprob{E#SAT}} \newcommand{\ShSAT}{\mathprob{#SAT}} \newcommand{\ShTSAT}{\mathprob{#3SAT}} \newcommand{\HamCycle}{\textprob{Hamiltonian Cycle}} \newcommand{\Permanent}{\textprob{Permanent}} \newcommand{\ModPermanent}{\textprob{Modular Permanent}} \newcommand{\GraphNoniso}{\textprob{Graph Nonisomorphism}} \newcommand{\GI}{\mathprob{GI}} \newcommand{\GNI}{\mathprob{GNI}} \newcommand{\GraphIso}{\textprob{Graph Isomorphism}} \newcommand{\QuantBoolForm}{\textprob{Quantified Boolean Formulae}} \newcommand{\GenGeography}{\textprob{Generalized Geography}} \newcommand{\MAXTSAT}{\mathprob{Max3SAT}} \newcommand{\GapMaxTSAT}{\mathprob{GapMax3SAT}} \newcommand{\ELIN}{\mathprob{E3LIN2}} \newcommand{\CSP}{\mathprob{CSP}} \newcommand{\Lin}{\mathprob{Lin}} \newcommand{\ONE}{\mathbf{ONE}} \newcommand{\ZERO}{\mathbf{ZERO}} \newcommand{\yes} \newcommand{\no} $



10

最後的謎團:腦神經科學





There is no scientific study more vital to man than the study of his own brain. Our entire view of the universe depends on it.

沒有任何一個科學研究可以比研究我們自己的大腦還要令人興奮了,我們所有對於世界的認識都是建構在其之上。

Francis Crick



當數學家斬釘截鐵地否決了萬能計算機的存在,當物理學家信心滿滿地告訴人們宇宙遠處有無數深不見底的黑洞,當演化生物學家用天擇論解釋了物種的湧現並且嘗試理解人性,我們卻對於自身大腦的運作方式一知半解。近年來隨著實驗及分析技術越來越成熟,高效能的電腦、機器學習的輔助與數據分析的理論等源自電腦科學的工具,成了腦神經科學家的新寵。同時,更多的資料和數據也帶來了更多的疑問與好奇。計算的思維,是否有機會帶給腦神經科學新的理論視角?

腦神經科學的春秋戰國時代

中國歷史上的春秋戰國時代中,不只群雄割據四方,在思想上更是百家齊鳴。而腦神經科學現今的發展盛況,可說是毫不遜色於當年的秦齊楚燕與儒墨道法。既有大量醫療相關的研究從腦神經疾病出發,也有理論物理的研究建立數學模型探究大腦的方程式。幾年前果蠅的全腦連結圖(有三千多腦神經細胞、五十多萬個細胞連結)才被建成,同時最新一代的電生理學探針已經可以側錄數百個神經細胞的活動。在這樣極度跨領域又多元的課題上,缺點是每個人都會有很多不知道的東西,但硬幣的反面,同時意味著存在空間讓不同的方法論大顯身手

在本章中,我們將先迅速地走訪幾個腦神經科學的子領域,建立一些基礎知識與共同語言。接著,我們將從計算的視角來看看九個在過去半世紀以來腦神經科學中振奮人心的發展。

細胞與分子腦神經科學

成年人的腦中大約有一千億個腦神經元(neuron, 或稱腦神經細胞,在之後簡稱為神經元),另外還有2到10倍的神經膠質細胞(glial cell)扮演輔助的角色。不過由於神經元是主要傳遞神經訊號的角色,所以大部分的研究都是著重在其之上。以下我們將從幾個不同的角度,簡單介紹神經元在細胞與分子層次中的基礎運作。

神經元的基礎結構: 神經元的種類有千百種,在不同層級的動物中也會稍有不同。從最抽象的角度來看,一個腦神經元主要有四個區域:(i)細胞主體(soma)、(ii)樹突(dendrites)、(iii)軸突(axon)與(iv)突觸前末梢(presynaptic terminals)。

(a)神經元的四大基本結構。(b)神經細胞十分多樣,在不同腦區和不同生物內的神經元可能天差地遠。例如圖中右下角的Purkinje細胞(Purkinje cell)是小腦(cerebellum)中十分常見的神經元,其特色是具有非常茂密的樹突(可以多達數十萬接受訊號的點)。

顧名思義,細胞主體負責維持細胞的代謝與運作,並且儲存基因資訊。樹突和軸突會從細胞主體延伸出去,分別扮演接受訊號和傳送訊號的角色。剛接觸腦神經科學時很容易將這兩者的角色搞混,一個簡單的記憶方式如下:在等候訊息時,由於不知道訊息會從何方而來,所以會盡量廣設接收用的設施,因此使用“樹狀”的結構來最大化接收的範圍。至於傳送訊息時通常目標很明確,所以只要單一“軸狀”的發送結構就可以乾淨俐落的抵達訊息傳送地。最後,軸突的末端會稍微分散成數個突觸前末梢,來和各個接受訊號的神經元接觸。

當然,上述的四大結構及相關的基本結構和功能都只是概述而已,真實的神經元具有極為多元的種類和令人意想不到的樣貌與行為。至今在研究的前線仍有無數的細胞與分子腦神經科學家努力地建立不同神經元種類(cell type)的圖鑑。

說了這麼多,到底神經元是如何傳遞和表示訊號呢?自從Alan Hodgkin(1914-1998)和Andrew Huxley(1917-2012)在1939年首次從章魚巨大的神經細胞中側錄到電訊號,目前主流的看法認為電訊號是大腦傳遞訊息的基礎單位。然而不像在電腦中是使用高電位與低電位來表示0與1,在腦神經的世界中,電訊號所表達的訊息為何仍是個大謎題。對於某些被研究多年的腦區或動物,專家們也許對其中電訊號的意義有一些共識,不過在大部分的情況中我們仍處在一個瞎子摸象的階段。

雖然目前人們還無法完全理解電訊號背後的意義(或是背後根本沒有意義?),不過透過大量的實驗,人們至少對於腦中電訊號的運作機制有非常清晰的認識。以下,讓我們迅速地一覽這些概念。首次接觸相關知識的讀者,可以著重在大方向上的規則以及建立對相關名詞的印象,這樣在未來見面就不會怕生了。

單一神經元的運作-膜電位、離子通道與動作電位: 神經元的細胞膜將細胞內外的世界一分為二,即使是很小的電離子們都無法任意通過。因此,四種常見的電離子:鈉離子(sodium, Na+)、鉀離子(potassium, K+)、氯離子(chloride, Cl-)和鈣離子(calcium, Ca2+),依據相對濃度的比例,將造成神經元細胞內與外的電位差(在細胞主體處),這又被稱為「膜電位(membrane potential)」(如下圖(a))。

細胞膜也不是這麼無情的,許多由複雜蛋白質組成的離子通道(Ion channel)會根據個別離子的濃度差距或是特殊訊號來決定是否導入或輸出某種離子(如下圖(b))。這些離子通道扮演著重要的調控角色,讓神經元能夠敏感地掌控非常細微的電位變化,並且細緻地變化其膜電位。

在離子通道的調控之下,神經元的膜電位通常會處在一個「休息電位(resting potential)」上,大約在-70mV左右,是透過特殊通道(例如鈉鉀離子幫浦(Na+ K+ pump))用能量(ATP)來維持離子濃度差造成的。如果其他神經元在短時間內傳遞了許多訊號,造成膜電位升高至-55mV,那麼就會引起「動作電位(action potential)」,在短時間內拉高(depolarization)緊接著降低(polarization)神經元的膜電位,並進入一個暫時的聖人模式(refractory period)(如下圖(c))。動作電位的一番大動作,會連帶讓軸突也產生電位波動,因此將這個“訊息”(發生了一個動作電位)由細胞主體迅速傳播到軸突末端,準備發送給其他神經元(如下圖(d))。據外型上的特徵,動作電位常被稱為「電脈衝(spikes)」。

(a)細胞膜將各種離子分隔在細胞內外,造成濃度的差異。其中鉀離子在神經元內的濃度較高,而鈉離子、氯離子和鈣離子在神經元外的濃度較高。細胞內另外還會有些有機陰離子(organic anions)。(b)細胞膜上會有一些離子通道,且每個離子有專屬的通道並根據濃度差異讓各個離子擴散進出神經元內外。圖上為鉀離子通道,圖下為鈉離子通道。另外有些特別的泵(pump, 並未出示在圖中)會使用能量來讓某些離子往濃度的反方向移動。(c)當膜電位到達臨界值(約-55mV)後,鈉離子通道將會被打開,使得大量鈉離子湧入細胞本體造成膜電位急速升高。當膜電位到約30mV時鈉離子通道被關閉,換鉀離子通道被打開,於是鉀離子的大量湧入造成膜電位下降,甚至會比休息電位在稍微低一點,並且進入聖人模式,暫時不太容易再度產生動作電位。(d)當動作電位在細胞本體發生時,會透過軸突傳遞到末端,進而準備將訊號傳遞給其他的神經元。

神經元之間如何交談-突觸與突觸可塑性: 神經元的樹突和軸突就像是它的手一樣,只不過兩個神經元在牽手時只能其中一個使用樹突另一個使用軸突,而牽手的地方又被稱作為「突觸(synapse)」(如下圖(a))。當突觸前的那個神經元(也就是使用軸突的那個)產生動作電位,並將訊號如前所述帶到突觸前末梢時,根據突觸的類別(化學突觸或是電突觸,如下圖(b)和(c))會用不同的方式改變突觸後神經元的電位。

(a)突觸指的是前突觸神經元和後突觸神經元交界之處。(b)化學突觸是透過神經傳導物質來傳遞訊號。當前突觸神經元產生動作電位後,前突觸末梢中的突觸囊會釋放儲存其中的神經傳導物質,這些神經傳導物質便會擴散至後突觸神經元樹突上的(離子型)接受器。(c)電突觸則是透過間隙連接直接將兩個神經元連在一起。一般來說,電突觸傳遞訊號的速度比較快、比較細緻、並且可以是雙向的。化學突觸則稍微慢一些,但是其訊號的作用可能會更加廣泛,例如可以將訊號增強。

如同當比較熟之後握手可能會比較大力一樣,突觸造成電位改變的大小也是可能會隨著兩個神經元的互動頻繁程度等等而改變,這樣的性質又被稱為突觸可塑性(synaptic plasticity, 如下圖(b))。這個特質是許多腦神經科學家認為腦子在學習時使用的重要機制。

(a)根據離子型接受器和神經傳導物質的不同,有三種常見的化學突觸。其中GABA接受器會讓後突觸神經元的電位下降(又稱IPSP),而NMDA和AMPA接受器則會讓後突觸神經元的電位上升(又稱EPSP)。(b)突觸給後突觸神經元的影響是可以改變的。本圖提供的是兩種長期突觸可塑性的例子,分別是長期促進(LTP)和長期抑鬱(LTD),是透過改變AMPA接受器的數量來達成,這些現象在腦區海馬迴(hippocampus, 之後的篇章會有更多介紹)中被廣泛測量到。

系統腦神經科學

大腦的構造並非雜亂無章,而是具有不同的層次。就像是政府的各個院會(以台灣為例,行政院、立法院、司法院等等)各司其職,腦中的各個區域會負責不太一樣的“功能”,因此根據功能及解剖學上的相似/相鄰性,便會被科學家歸類成為一個系統。

系統腦神經科學(System neuroscience)就是在研究腦中各個結構和系統所對應的功能,以及和知覺與行為表現的關聯。當然,生物世界不像人造世界一樣可以有明確的分工,腦中的各個小系統不見得會完全只負責一項工作,甚至系統之間的區分邊界也沒有那麼乾淨絕對。所以在學習時千萬要抱持著開放的態度,而非一昧將目前系統腦神經科學提出的理論當成真理。

就像在社會課本中介紹政府結構時,會先概述一府五院,以下將介紹一種將腦中系統分類的方式(每個腦神經科學家可能會有各自分類的喜好,這邊的分類是根據筆者的理解),讓讀者淺嚐系統腦神經科學的風味。

(a)大腦透過知覺系統獲取來自外界的訊息。常見的知覺系統有視覺系統、聽覺系統、觸覺系統和嗅覺系統等等。(b)大腦的訊號由動作系統產生對外界的回應。常見的動作系統及功能有肌肉控制、動作計畫等等。(c)在知覺系統與動作系統之間,大腦進行許多訊號的轉變與處理,該如何分類仍然是正在進行的工作與辯論。由於許多功能其實沒辦法像知覺與動作兩端那樣區分的很乾淨,在這邊筆者將其通稱為整合、學習與記憶系統。

腦中的部門-線路(circuits)與線路模體(circuit motifs): 上述幾種類型的大系統,就像是政府的各個院會,在每個院會中都還會有許多部門。這些部門除了和內部自己人互動之外,也會有不少跨部門甚至跨院會的交流。在大腦中的“部門”通常會是由一群型態與行為類似的神經元相連而成,這樣數十至數百數千個神經元組成的部門,在腦神經科學中通常被稱作為一個「線路(circuit)」。如同在政府單位中的部會有一些常見的組織架構,腦中的線路也有一些常見的「模體(motifs)」,以下就讓我們來看看四個常見的模體。

(a)在前饋模體中,神經元會分層並且只往一個方向傳遞訊號(當然在實際生物體中可能會有些許的突觸往回連,但是佔比極小)。(b)發散模體對應到從一個或極少個神經元,將訊號傳送至多個神經元。收斂模體則對應到許多神經元“投射(project)”回單一或少量的神經元。(c)循環模體則是指一群相互有連結(但不見得所有兩對之間都有連結)的神經元網路。

大方向的簡介可能還沒辦法讓讀者感受到系統腦神經科學最前沿的風景,以下讓我們來欣賞一個近年果蠅腦中導航系統的最新研究。

果蠅的導航線路: 每到夏天溫度高到一定程度的時候,果蠅們就會悄悄地從廚房陰暗潮濕的垃圾桶或排水道大量湧現,相信是許多廚藝愛好者的夢魘。而果蠅在生物學上的屬名Drosophila正恰恰反映了它們的習性:"Droso"是拉丁文中的“潮濕”,"phila"則對應到了“喜愛”。下一次在論文中看到Drosophila時,別再以為是什麼希臘女神的名字了!

想像一下你是隻果蠅,在一間忘記打掃的廚房中開心地尋覓食物,食物的氣味從四面八方而來,你的頭也不停地四處張望,空氣中的些微擾動可能也會干擾你的飛行,你的大腦會如何幫你校正這一些不確定因素,幫助你飛往食物的方向呢?

關於“果蠅導航系統”的問題,是非常經典的系統腦神經科學研究方向。在下圖中,我們將看到Lyu、Abbott和Maimon用一個向量演算法,來理解果蠅不同腦區的幾種神經元如何組成線路並從對外界的定位計算出其實際的飛行方向。

(a)以果蠅自身的參考系來看,其飛行方向和頭向之間的角度被稱為自我飛向(egocentric traveling)。而以外界的異我參考系來說,果蠅頭朝的方向和某個固定標的(例如食物、太陽)的角度被稱為異我頭向(allocentric heading)。異我頭向是在果蠅研究中已經有已知神經元類別調諧到的性質,所以一個重要的研究問題就是,果蠅腦中的線路是如何從這算出自我飛向,進而獲得異我飛向(allocentric traveling)。(b)三個果蠅中央腦區相關的區域。這些區域都分別被切為小塊,每個小塊調諧到不同的角度。例如橢球體中依照神經元實際位置,調諧至相對應的異我頭向。(c)四種相關的神經元類型以及相對應的調諧性質,右圖則是極簡化的連結示意圖。注意到每種神經元會在相對應區域的各個小區出現,同時它們也會收到來自其他腦區的訊號。(d)在[Lyu et al., 2021]中,他們透過虛擬實境實驗測量圖(c)中的四種神經元在各種情況的活動。並且發現神經元的訊號具有正弦曲線的形狀,因此可以透過向量加法從EPG和PFN的調諧性質,計算出自我的飛向。本圖省略許多資訊,細節請參閱原著。

計算腦神經科學

隨著電腦計算能力的提升與普及,人們開始可以透過電腦來模擬複雜的系統,而這之中當然也包含了大腦。雖然離完全模擬大腦所有行為還很遙遠,然而對於單一神經元或是數十數百個神經元組成的小系統/線路,一旦能夠將基礎的交互作用關係以及化學反應細節描述清楚,透過電腦模擬便能獲得很不錯的近似結果。同時,電腦及資料處理科學也提供了分析處理實驗數據的平台和方法。因此,在這個多元的時代背景之下,計算腦神經科學(Computational neuroscience)就應運而生了。

身為一個新興領域,每個人對計算腦神經科學可能都有些略微不同的定義,或是說,這個領域仍然在成長與演化。一旦用到了計算的模型,或是使用了計算的分析方法,那就有很高機會被貼上計算腦神經科學的標籤。以下將用近年來火紅的人工神經網路作為例子,在之後的內容中,我們將會看到更多。

人工神經網路(Artificial neural networks): 人工神經網路泛指模仿、或是從生物大腦結構獲得靈感的人工計算模型(在第三章中曾經簡單介紹過)。近年來透過不斷地加深和加大人工神經網路,在工程上已經取得以前完全想不到的成功(例如圍棋、蛋白質結構、影像辨識、語言模型等等)。這樣令人興奮的進展,是否能夠反過來推進我們對自身大腦的理解呢?

除了最直接的使用人工神經網路來協助分析資料之外(如下圖(a)),有些學者開始使用一些人工神經網路(尤其是循環神經網路(recurrent neural network, RNN))作為某些系統的模型,以便進行量化的分析(如下圖(b))。另外一個常見的流派則是使用人工神經網路來學習真實腦神經數據的輸入輸出訊號,進而在學習後的結果模型上做分析(如下圖(c))。

(a)DeepLabCut是個由預先訓練人工神經網路做出來的輔助軟體,可以協助實驗學家標註動物外型上的特徵(例如鼻子、手腳等等)。(b)循環神經網路(RNN, Recurrent Neural Network)近年來常在數值模擬上被拿來描繪一個腦區中的神經網路,研究人員會將透過輸入輸出訓練後的RNN作為這個腦區的數學模型,以便進行更多分析。(c)知覺系統的神經網路通常比較不會有循環的連結,所以更能夠清晰的分層錄製神經元的活動及進行分析。視覺系統又特別是個熱門的研究方向,圖中的研究將腦區V1的輸入以及輸出的神經元活動,作為一個特別設計的前饋(feedforward)人工神經網路的訓練資料,並且宣稱在某些性質上如此模仿大腦V1的人工神經網路比傳統的還要好。

總結來說,將人工神經網路的進展應用在腦神經科學的研究,目前仍處於前奏曲的階段,未來的發展令人非常期待。

認知腦神經科學

顧名思義,認知科學是門研究“認知(cognition)”的學科。由於“認知”一詞具有太多的涵義與解讀,所以認知科學處於各大學科(例如語言學、心理學等)的交集。傳統認知科學主要採取的是相較“由上而下(top-down)”的研究方法論,研究人員通常專注在行為(behavioral)層面,並試著找出大方向的原則,對於生物的實作細節就相對沒那麼重視。而認知腦神經科學(cognitive neuroscience)則試圖在有腦神經底層實作或腦神經活動實驗數據的背書之下,研究諸如意識、記憶、語言和情緒等主題。

隨著時代的演進,人工智慧的蓬勃發展以及腦神經科學實驗技術的突飛猛進,讓這些不同的領域有了相互刺激影響的契機。說不定在我們有生之年,有機會看到神經元連結互動的細節,是如何湧現出高層次的認知與智慧?

常見的腦區簡介

假如有個外國人想要請你介紹你的家鄉,你會怎麼做?你的第一反應也許是先從你最愛的小吃攤講起,但說著說著你馬上發現對方對於那些小吃的類型從沒看過,所以你只好抽象地先描述一下主要的食物類型。接著你可能介紹了幾個你週末常去玩的地方,像是去淡水河畔跑步打球、到中山區吃拉麵、到華山文創園區逛展覽等等,結果對方突然問,怎麼沒有提到故宮博物館呢?上述的窘境也會發生在要介紹大腦結構的時候,不管用什麼順序/方式介紹都一定會有些遺珠之憾或不通順之處。於是就像在前言提到的一般,與其想成是條列式的學習一堆規則,倒不如想成是在蒐集拼圖的碎片,總有一天這份拼圖的洞會越來越少。

打了這麼多預防針,希望以下的簡介能讓初次接觸腦神經科學的讀者能夠建立起簡單的藍圖。

整體概述: 成年人的腦約重1.2到1.5公斤,佔人體總重的2%左右,然而其能量(氧氣和卡路里)消耗是全身的20%。在結構上大致可以分為三區:大腦(cerebrum)、小腦(cerebellum)與腦幹(brainstem),如果講究一點可以依據所處位置的前/中/後及腹側(lateral)/背側(dorsal)進行細分。

在大結構上,腦由俗稱的灰物質(gray matter)包覆著內部的白物質(white matter)。灰物質主要由神經元的細胞本體(soma)組成,白物質則是大部分包含著突觸(axon),我們可以由此看到神經元是很井然有序的排列在腦中。

大腦(Cerebrum)可以說是人腦中最重要的區域,以至於在中文世界人們常常用“大腦”一詞來意指整顆腦。大腦負責了各種知覺感官、動作行為、語言、決策、情緒、學習等等。這些功能並不是完全混在一起由大腦運作的,而是能夠透過實驗很明確地發現由大腦中不同的子組織各司其職(當然還是無法排除可能有些整體的運作機制)。以下將介紹四個大腦中時常被研究的區域。

(a)大腦皮質呈現六層結構。(b)大腦皮質主要由皮質柱構成。(c)邊緣系統(Limbic system)包含了下面將要介紹的丘腦、基底核、海馬迴以及其他皮層下區域(subcortical area)像是杏仁核(amygdala)和下丘腦(hypothalamus),這些區域共同負責許多和行為及情緒相關的功能。

小腦(Cerebellum)大約只有拳頭大,位於大腦皮質顳葉和枕葉下方、腦幹上方。傳統上小腦和肌肉的控制與平衡有關,新的研究也漸漸顯示其和心情甚至是其他的認知功能(例如語言、注意力、想像力)息息相關。雖然小腦只佔整個腦的10%重量,然而其神經元個數和大腦不相上下。而且小腦的神經元種類比較單一,主要由Purkinjie細胞、Granule細胞和苔狀纖維(mossy fiber)組成三層“發散到收斂”的結構。

(a)小腦的矢狀面(Sagittal)結構。(b)小腦主要由Purkinje細胞和Granule細胞以及多種纖維狀細胞構成。其中Granule細胞從苔狀纖維獲得來自其他腦區的資訊,再透過平行纖維將訊息發散至各處的Purkinjie細胞。接著Purkinjie細胞透過大量的樹突蒐集平行纖維以及爬行纖維傳來各處的訊息,並將收斂後的訊息傳出去至其他腦區。

腦幹(Brainstem)將大腦連接至脊髓,進而將神經訊號傳遞至全身,同時調控許多重要的系統,例如呼吸、心跳等等。其主要結構為中腦(midbrain)、橋腦(pons)和延腦(medulla)。

現今主要的腦神經科學實驗技術

工欲善其事,必先利其器。在更進一步思考腦神經科學中的問題之前,讓我們先迅速地一覽常見的訊號錄製技術以及實驗中使用的模式生物(model organism)。

腦訊號錄製技術: 這個世界上目前還沒有完美的腦訊號錄製技術,現今常見的技術在不同層面各有漸長,例如訊號的解析度(在時間軸和空間軸上)、錄製的範圍、可允許的實驗設計、設備的價錢、操作的困難度等等。以下介紹的四大類技術,在回答不同研究問題時各有千秋。或許在不久的將來,腦神經科學中也能夠出現像大谷翔平一樣投打雙棲的錄製技術?

模式生物: 不僅僅是因為倫理關係而不在人身上做腦神經科學實驗,很多時候更是為了先從規模較小的生物體中,建立對某些腦機制更好的認識。模式生物就是指在領域內被公認適合來研究特定機制的生物種類。腦神經科學常見的模式生物有:海蝸牛(Aplysia)、果蠅、斑馬魚(zebrafish)、各種鼠類(小鼠(mouse)、大鼠(rat)、沙鼠(gerbil))、獼猴(Macaque monkey)等。

在實驗中,也不是總是會讓這些動物到處亂跑(free-moving)。根據不同的需求,有時候會固定頭部(head-fixed)、麻醉(anesthetized)等等。近年來由於電腦科技的進展,許多實驗室也引進了虛擬實境的技術,讓動物們站在一顆球上,探索著眼前螢幕呈現的虛擬世界。

一趟腦神經科學與計算的小獵犬號之旅

希望到目前為止建立的大方向圖像,能讓讀者有足夠的基本概念及興趣,繼續探索更多腦神經科學與計算之間有趣的關聯。在剩餘的篇幅中,我們將從單一神經元開始,慢慢往上拉高層次,欣賞九個不同的主題,航向屬於我們的“小獵犬號之旅”。

單一神經元與Hodgkin-Huxley模型

在這個全球化與工業化的世代,時常會聽到評論家比喻每個人在社會中的角色像個小螺絲釘一樣,雖說如此,不同職業和崗位做的事情可是可以非常不一樣的。對於千億分之一的神經元也是如此,不同的神經元類型或是不同的連接結構,將會讓神經元的電脈衝方式、規律、時間點很不一樣。每個人都是天底下獨一無二的存在,每個神經元是否也在腦中扮演著獨特的角色?

這麼多樣多變的神經元活動方式(如下圖(a)和(b)),該不會各自是從很不一樣的機制產生,需要逐一建模型理解吧!?Alan Hodgkin(1914-1998)和Andrew Huxley(1917-2012)告訴我們有一個數學模型(以及一些簡單的變形)可以用簡單的方式描述絕大多數的現象!為了紀念他們的貢獻,這個模型又被稱為Hodgkin-Huxley模型(如下圖(c))。這些對神經元基本性質開創性的研究,也讓他們在1963年共同獲得了諾貝爾生醫獎。

(a)同樣的外部訊號(圖最下方的虛線,高低對應到不同強度的電流),對不同的神經元可能產生不一樣的反應。(b)不同的外部訊號對於同一個神經元可能造成很不一樣的反應。(c)Hodgkin-Huxley模型(圖中為簡化版)是個電路模型,由數個根據離子濃度、電容率等等的參數設定而成。在描述一個神經元時,可以在不同區域使用不同的Hodgkin-Huxley模型拼湊而成。例如圖下方的神經元具有許多不同的樹突隔間(dendritic compartment),各自可以被一個Hodgkin-Huxley模型描述。

不同行為的神經元,可能扮演著什麼樣不同的計算角色呢?

突觸可塑性與學習

新認識的朋友如果時常一來一往的傳訊息聊天,很快就能熟絡起來。許久不見的老朋友只需一通長途電話,當年的回憶就會湧上心頭。人與人之間的關係是可以透過經營而加強或是減弱的,對於神經元來說也是如此。

神經元間突觸的強弱變化,被稱為突觸可塑性(synaptic plasticity)。除了之前提到的長期促進(LTP)和長期抑鬱(LTD)之外,腦神經科學家還觀察到許多其他突觸強度改變的機制(例如下圖(a)中的STDP)。理論學家也提出了不少數學模型,試圖探索突觸可塑性和神經網路所進行的計算有什麼關聯(如下圖(b))。如果你的朋友總是秒回訊息,是不是代表你們更親近一些?如果互動太過頻繁,是不是該稍稍冷卻一下保持一點距離?

(a)依賴脈衝時序的可塑性(STDP, Spike-timing-dependent plasticity)。當後突觸神經元的脈衝越緊接著前突觸神經元的脈衝,這個突觸增強的強度就會越大。反之,如果後突觸神經元先產生脈衝,那麼突觸的強度則會降低。(b)突觸可塑性的簡化模型。在數學上將前突觸神經元的活動(例如平均脈衝數)標記為x,將後突觸神經元的活動標記為y。那麼突觸強度w的變化將會和x、y、以及之前的w有關。兩個常見的突觸可塑性歸則為Hebbian規則(Hebbian rule)和Oja規則(Oja rule)。前者對應到只要兩個神經元同時有相同的反應,則加強突觸強度。後者則是加了一個穩態(homeostasis)項來控制突觸強度不至於過大。兩者皆和一些計算問題有連結,例如主成份分析(PCA, Principle Component Analysis)。

如果不只考慮一個神經元和其他神經元的連結,而是整個神經網路中神經元兩兩之間的突觸強度是如何變化,該怎麼建立與理解突觸可塑性和計算的關係?在抽象層面上,由於一個神經網路就像是個計算過程(例如將感知輸入對應到動作輸出),突觸可塑性就像是“改變計算過程的計算”。因此,很自然而然地被和“學習”(詳見本書第三章後半部分)連結了起來。透過設計和分析不同的「突觸可塑性規則(synaptic plasticity rule)」及潛在/相對應的計算問題/原則,會不會讓我們對腦中的底層實作有更模組化的理解?

在人工神經網路的世界中,「反向傳播法(backpropagation)」是個極為成功的人工突觸可塑性規則,其主要概念是透過微積分的鏈鎖率(chain rule),算出每個突觸的強度該如何變化,可以最有效率的提升整體的準確率。雖然反向傳播法在人工神經網路與人工智慧取得前所未有的進展,但是由於生物條件的限制(例如特定的突觸連結方式),普遍來說腦神經科學家們認為大腦的學習方式應該與反向傳播有點距離。到底我們的腦子是如何學習的呢?透過細緻地理解突觸可塑性能夠幫助我們釐清學習的本質嗎?

感受場與調諧曲線

不知道你有沒有想過相機和眼睛的運作有什麼差別嗎?透過相機鏡頭的發散與聚焦,外在世界的光打在感光元件上,由於每個感光元件各自對應到不同地方傳來的光,最終它們根據光的強弱記錄下瞬間的永恆。我們的眼睛是怎麼運作的呢?也是用類似的方法嗎?

眼睛中主要的神經區域為視網膜(retina),其中的第一道關卡「感光細胞(photoreceptor cell)」的確就扮演著類似於相機中感光元件的角色,每個感光細胞各司其職關注著世界的某一個小角落。然而,當更深入視網膜的神經網路,甚至是進入大腦皮層的視覺相關區域後,事情將會變得更加有趣:神經元不再只是關注某個小角落光的強弱,而是開始對某個區域的特定圖案產生反應。就像一座監獄的守衛們,各自看管某個區域的動靜,並且只會針對可疑的騷動做出反應。於是,對於一個視覺神經元來說,這樣會讓它特別有反應的區域和相對應的圖案,又被稱為它的「感受場(receptive field)」(如下圖(b))。

(a)光線在視網膜觸發訊號,接著會傳遞到丘腦中的LGN,然後再進入大腦皮層中的主要視覺皮層,並且繼續由兩條不同的路線傳遞下去。在視網膜中,光首先激發感光細胞,接著經過平行、雙極、無軸突細胞最後由神經節細胞將訊號收斂至LGN。注意到這邊每種神經元又還會有許多不同的子類別。(b)神經節細胞的感受場通常呈現兩個同心圓狀,中間和周圍區域各自具有相反的反應。以ON細胞為例,當光照在中間部分時將會刺激神經元的電位,然而當光照在周圍時,則會抑制。圖下方有五個例子解釋ON細胞在不同情況時的反應。

大腦皮層中第一個和視覺相關的區域被稱作「主要視覺皮層(V1, primary visual cortex)」。1959年,David Hubel(1926-2013)和Torsten Wiesel(1991-1998)在他們著名的實驗中,日以繼夜地嘗試不同的視覺圖像給貓咪看,希望能夠釐清V1中神經元的感受場。一開始他們試著將光點擺在不同的位置,看看神經元會不會對特定的位置有反應,但是事與願違。直到後來他們才發現,許多V1的神經元對於一條線狀的光源特別有反應,另外還有一些神經元則是當一條線以某個角度往某個方向移動的時候會有劇烈反應,也就是說,V1神經元的感受場是呈線狀的,而且可能還會跟時間軸有關!這個重要的發現以及他們後續在視覺系統上重要的貢獻,也毫不意外地讓他們在1981年獲得了諾貝爾生醫獎。

在V1中每個神經元關注的角度可能不太一樣,而且即使是同一個神經元,可能也會對接近感受場的角度發出一些脈衝。因此,「調諧曲線(Tuning curve)」的概念就應運而生了:對於某個神經元(以V1中的神經元為例),根據其對於不同輸入刺激的參數(例如光刺激的角度),畫出相對應的脈衝頻率函數。如此一來,根據調諧曲線就可以看出某個神經元是如何“編碼(encode)”某個角度(如下圖(b))。

(a)V1中神經元的感受場通常為線狀,以左圖為例,當光源線呈直立方向時,被觀測的神經元具有最頻繁的脈衝。另外有些V1神經元的感受場和移動方向有關,,以右圖為例,當光源線以30度仰角朝右移動時,被觀測的神經元具有最頻繁的脈衝。(b)調諧曲線將某個神經元(本圖中有紅和藍兩個)對於不同方向輸入刺激(input stimulus)的反應程度圖像化,因此可以看到不同神經元之間是否覆蓋了所有可能的輸入刺激方向。(c)Olshausen和Field利用數值實驗試圖解釋感受場的形狀。他們對一些影像輸入進行主成份分析,獲得了如左圖的感受場。然而一旦加了稀疏的條件,感受場的形狀(如右圖)就會類似於在V1中觀察到的線狀。

通常在知覺系統中的神經元,尤其離輸入端越近的,都可以被觀測到具有明顯的感受場,並可以畫出其調諧曲線。在這些概念的輔助下,我們可以更進一步用很計算的角度來揣測這些神經元以及相關的腦區是如何處理感官輸入的:每個神經元的感受場就像是對應到了字典中的一個字,當眼睛接受到一個畫面後,有反應的那些視覺神經元就像是告訴接下來的腦區這個畫面出現了什麼字。那麼大腦是用什麼樣的字彙和語言來溝通的呢?

舉例來說,Bruno Olshausen和David Field在1996年引入「稀疏編碼(sparse coding)」的觀點,利用數值實驗試圖論證感受場的形狀是源於大腦希望神經元的反應比較稀疏(如上圖(c))。以字彙和語言的比喻來看,等於是在說希望能夠用簡單幾個字就可以表達看到的東西。這個前衛的學說也間接開啟了電腦科學中「字典學習(dictionary learning)」的發展。

然而對於越深的腦區,我們知道的越來越少。不知道感受場、調諧曲線這些單一神經元的分析,能帶我們走多遠?

導航、位置細胞與網格細胞

想像你來到了一座新的城市,手機尚未連接上網路,因此沒辦法使用線上地圖。由於語言不通,又無法向路人問路或是買地圖。但是一直待在旅館實在太無聊了,於是你決定到外頭晃一晃,想說有著太陽的幫助,應該總能在天黑前回到旅館吧?踩著陌生的街道,映入眼簾的是有如天書一般的商店招牌,雖然看不太出來他們到底是在賣什麼,不過你已經對某些不斷重複出現的連鎖店開始有些印象了,也許那個有著鮮紅色招牌的店家是個便利商店、藥局或速食餐廳?

不只是對來異境旅遊的旅客,導航對生活於大自然中的動物們也是非常重要。大腦是如何引導螞蟻外出覓食後找到回家的路?Monarch蝴蝶會經過好幾個世代從墨西哥遷徙到北美,它們是怎麼做到的?背後又有什麼計算的原理支撐著?

在這邊讓我們透過受到2014年諾貝爾生醫獎認證的「位置細胞(Place cell)」與「網格細胞(Grid cell)」,一窺腦中的迷航世界。

(a)O'Keefe和Dostrovsky在實驗中發現某些小鼠海馬迴中的神經元只有當小鼠經過特定位置時會產生脈衝,例如圖中的1號神經元只有當小鼠在位置A和位置B時有明顯的活動。(b)Moser夫婦的實驗室發現內嗅皮質的中間背側有許多感受場為網格點的神經元。圖中每個橫軸對應到一個神經元,直行中最左是當小鼠在圓形空間移動時,神經元發生脈衝(紅色點)的位置。中間那行是感受場的強度,也就是神經元當小鼠在不同位置時的脈衝頻率。最右行是神經元活動在空間上的自相關(autocorrelation)函數,在這邊顯示了網格點上的神經元活動具有強烈的正相關。

John O’Keefe是個受心理學訓練出生的腦神經科學家。和多數心理學家一樣,O’Keefe十分重視動物行為扮演的角色,因此當他從在博士期間主要研究的杏仁核轉移到海馬迴時,他首要關注的就是海馬迴受傷的小鼠會有什麼樣異常的行為表現。很快的,他和學生們就發現這樣的小鼠在進行空間相關的任務時,表現得特別差,尤其是當轉移到新環境之後。經過更深入的實驗,他們發現海馬迴中的CA1區域具有一些特殊的神經元,會在小鼠經過某個特定的位置時有劇烈的反應(如上圖(a))。這種類型的神經元因而得名“位置細胞”,並開啟了腦神經科學界對海馬迴在導航與記憶中所扮演角色的探索。

Edvard Moser和May-Britt Moser是諾貝爾獎史上第五對共同獲獎的夫妻。完成博士學位後,兩人輾轉來到倫敦在O’Keefe的麾下學習了一陣子,接著回到家鄉挪威建立自己的實驗室。深受位置細胞的啟發,兩位Moser決定追根溯源研究位置細胞是如何形成的。從神經元連結的解剖資料中,他們與學生們嘗試了相關的腦區,最終在2005年發現內嗅皮質(entorhinal cortex)中有許多特別的神經元,會根據小鼠所在的位置極其規律的產生反應。如果小鼠所處的是個方形空間,這種神經元相對於小鼠位置的感受場,將會近似於一個正三角型網格的網格點(如上圖(b)),於是得名“網格細胞”。

所以我們可以將腦中的導航想成有著網格細胞建立地圖的經緯,再由位置細胞紀錄重要的地點嗎?很可惜這樣的圖像有點過於簡化,生物世界中的例常就是總有例外。以位置細胞來說,實驗上可以觀測到當小鼠更換環境之後,感測的位置也會跟著變動,因此被稱為「重新對應(remapping)」。如果改變環境的形狀,網格細胞的感受場也將失去正三角型網格,變成其他種規律的網格(如上圖(c))。

位置細胞和網格細胞是少數在大腦比較深的區域中,仍然具有清晰感受場的神經元類型,因此有著大量的研究工作圍繞在理解它們的成因和特性。然而大腦中的導航更像是個動態的地圖,並且和其他的功能(例如記憶)息息相關,我們仍還有很長的一段路要走。

多巴胺神經元與獎勵預測

平時常常會聽到人們提到多巴胺(DA, dopamine)的分泌會帶來快樂感,你知道多巴胺是種腦神經傳導物質嗎!?而那些會釋放多巴胺的神經元又被稱為多巴胺神經元(dopaminergic neuron),主要分佈在中腦(位於腦幹)的腹側被蓋區(VTA, Ventral Tegmental Area)與黑質(SN, Substantia Nigra)以及下丘腦等區域。

在James Olds(1922-1976)和Peter Milner(1919-2018)於1950年代進行的著名實驗中,他們將一些電極插入小鼠部分的腦區,並且當小鼠推動一個桿子時注入電流觸發腦區附近神經元的動作電位。他們發現當電極插在某個腦區時,小鼠會不斷地推動桿子,就算有食物、水、甚至是異性的吸引都無法轉移小鼠的注意力。如此明顯的行為關聯,讓他們決定仔細研究這塊腦區,並且發現此處大部分的神經元都和多巴胺神經元有連結!

所以我們的腦中是由多巴胺神經元掌控快樂的泉源嗎?事情沒有這麼單純!在1990年代末期,Wolfram Schultz和合作者發現了多巴胺神經元不只會在獲得獎勵(在實驗中設計的快樂泉源)時會產生反應,一旦接受到了獎勵即將來臨的徵兆(例如聞到美食的氣味),多巴胺神經元就會開始躁動了。更令人驚訝的是,如果最後小鼠沒有獲得獎勵,多巴胺神經元的脈衝數量竟然會下降(如下圖)!

於是,多巴胺神經元的活動漸漸被認為和“獎勵預測”有關:如果預期心裡被滿足了,那麼多巴胺神經元就不會再特別活動。反之,如果預期落空,多巴胺神經元就像是透過減低活動量,來釋放“預測誤差”的信號。

近年來腦神經科學家對於多巴胺神經元有了越來越多細緻的研究,例如不同發訊號的模式或不同的細胞內活動都可能具有不一樣的功能,並且發現多巴胺神經元似乎也不僅僅只限於Pavlovian古典制約中的獎勵預測。也許,因為人類總是想著追求快樂,所以單純地將多巴胺和快樂劃上等號。但或許快樂並沒有單一源頭,更不見得是最後的終點。在思考多巴胺神經元的本質時,也許我們也會對快樂有了新的認識?

(a)在Pavlov的古典制約實驗中,會將獎勵(圖中的食物)和刺激物(圖中的鈴聲),透過不斷地接連呈現給受試動物,使其產生制約。也就是說,一旦接受到了刺激物(聽到鈴聲),就會產生看到獎勵會有的反應(流口水)。(b-d)來自[Schultz et al., Science, 1997]中提到的猴子實驗。實驗中猴子會接受到視覺或聽覺刺激物,以及果汁作為獎勵。圖中每ㄧ橫列都是一個多巴胺神經元隨著時間(向左)的脈衝時間點,最上方則是脈衝總數的直方圖。最下方的CS代表刺激物出現的時刻,R則代表獎勵出現的時刻。(b)當沒有刺激物,但有獎勵時,多巴胺神經元的反應會在獎勵出現後迅速升高。(c)但當猴子已經被古典制約後,只要刺激物出現,多巴胺神經元的反應就會立刻升高。之後當獎勵出現時,多巴胺神經元的活動反而就沒有特別的起伏。(d)如果只有刺激物沒有獎勵的話,多巴胺神經元則會在預期獎勵出現卻沒出現的時刻後,瞬間降低脈衝頻率。

鳴鳥與聲音學習

小嬰孩是如何從牙牙學語到發展出完整的語言能力?在嘗試回答這個重要但是極度困難的問題之前,也許我們可以先從生物世界中尋找類似但是簡單一點的模式生物作為起點。「斑胸草雀(zebra finch)」是一種具有厲害聲音學習(vocal learning)能力的鳴鳥(songbird),剛出身的小雀會在幾週內從沒什麼結構的唧唧喳喳(babbling),逐漸學會身邊老雀唱出來的曲子。

別小看鳴鳥們唱歌的能力,如何從胡亂的唧唧喳喳形成乾淨的音符(note)?如何在從音符的排列組合建立簡單的旋律模體(motif)?以及最後又如何組織不同的旋律模體形成完整的歌曲(如下圖(b))?腦神經科學家們在多年的研究之下,逐漸對這些步驟背後相對應的腦區及機制有了越來越清楚的認識。

從計算的角度來看,鳴鳥的聲音學習主要包含了三大元素:(1)聽覺系統的學習、(2)歌唱相關的肌肉動作學習、和(3)歌聲的評量以及改進。其中又以(3)最為複雜,下圖(c)中提供一個簡化的腦區線路圖讓讀者體會一下。

(a)斑胸草雀出生20天後會開始在聽力上有明顯的學習,在出生後50到90天則會開始學習唱歌,之後便會固定其歌曲。(b)圖中為歌曲的頻譜圖,其中x軸是時間,y軸是頻率。一首曲子由小到大的結構為約10毫秒的音符、100毫秒的音節、具有數個音節的模體到整首曲子。圖中的四個子圖分別呈現老師、不同階段的學生、和沒有老師的幼鳥的頻譜圖。(c)腦神經科學家認為和斑胸草雀聲音學習相關的腦區,以及四種具有不同功能的路徑。對於這些腦區和路徑的詳細理解仍然是前端的研究課題。

本書第三章曾經提到的強化式學習(RL),在鳴鳥聲音學習的研究中提供了許多靈感,一些腦區之間的行為和互動可以透過RL的架構和語言獲得直觀上的理解(如上圖(c))。不過RL當然還無法解釋一切,未來在剖析鳴鳥聲音學習系統的研究路上,說不定可以反過來提出新的計算/學習原則?

E/I平衡

之前我們學到了GABA是抑制型(inhibitory)的神經傳導物質(也就是說後突觸神經元在接收到脈衝後電位會下降),NMDA和AMPA則是刺激型(excitatory)的神經傳導物質(後突觸神經元在接收到脈衝後電位會上升)。一般來說,大腦中神經元的軸突不會同時具有多種神經傳導物質,於是一個神經元對其他神經元的影響,要嘛全都是抑制,要嘛全都是刺激,這又被稱為「Dale規則(Dale’s law/principle)」。

再更進一步,大腦許多區域(尤其是大腦皮層)的結構是非常有規則的,通常刺激別人的神經元和抑制別人的神經元會和同類型的神經元聚在一起。於是抽象上來看,可以將大腦皮層視為由一群一群刺激神經元和一群一群抑制神經元組成的區域。而當觀察大腦皮層中的一個神經元時,一些實驗發現其接收到的刺激和抑制訊號竟然極度平衡(如下圖),並沒有其中一方明顯勝過另一方。這個現象又被稱為「E/I平衡(E/I balance)」,其中E對應到“刺激(excitatory)”,I對應到“抑制(inhibitory)”。

目前為止,多數腦神經科學家將E/I平衡理解為能夠在訊息的編碼和傳遞上面帶來好處,例如透過刺激和抑制訊號緊密地互相追蹤,大腦能夠更加迅速的控制、改變與平衡訊號。也有些理論研究提出E/I平衡和沒有平衡比起來,能夠具有較大的訊息編碼的容量(capacity)。

(a)每個皮層柱的每一層可以被抽象為具有一個刺激類群的神經元和一個抑制類群的神經元,其連接關係被描述為「皮層微線路(cortical microcircuit)」。(b)當關注某一個神經元的時候,其等效輸入電流為刺激電流(上圖紅色線)減去抑制電流(上圖藍色線)。如果刺激訊號完勝抑制訊號,那麼這個神經元的活動將會被刺激訊號控制,並具有較規律的脈衝(中圖)。(c)當刺激電流和抑制電流(緊密的)互相平衡時,神經元的脈衝具有較多的變化,因此被一些腦神經科學家認為具有較大的訊息編碼容量。

刺激訊號和抑制訊號之間的對偶,也許有點像上漲的股票和下跌的股票,只有很特殊的情況才有可能滿江紅,多數時候總是努力試著讓上漲的超前於下跌的。載浮載沉於大時局的波浪中,什麼時候能夠看透其中的奧秘?

效率編碼假說

Horace Barlow(1921-2020)是位著名的視覺神經科學家,同時也是達爾文的外曾孫(他媽媽是達爾文的孫女以及傳記的作者)。從小在媽媽的薰陶之下,Barlow建立了扎實的數學及科學基礎,並且很早就投身科學研究(大學時就在Nature雜誌上面發表文章了)。在劍橋大學開放的學風下,Barlow得以自由選擇研究題目,並從青蛙的視覺Ganglia細胞出發,開啟了他日後輝煌的學術生涯。

早期的視覺神經系統研究可以說是環繞在分析不同的感受場,隨著知道越來越多種神經元的感受場,一個半科學半哲學問題便自然地浮現了:這些感受場的功能是什麼?為什麼視神經元的感受場是長這個樣子而不是其他的樣子?就像Barlow在他1961年的著名論文(詳見延伸閱讀)中開頭提到的例子:假設我們不知道鳥會飛,那我們再怎麼努力的研究翅膀的複雜結構,仍然會不知其所以然。感知系統的背後是被什麼樣的計算/功能原則支配著?

Barlow在同篇論文中,進一步給了三個假說,嘗試從Marr三階層分析中“計算理論”的角度指引人們對感知系統的研究與理解。其中的「降低冗餘假說(redundancy-reduction hypothesis)」被後世以更廣義的「效率編碼假說(efficient coding hypothesis)」流傳至今。既然都是由上而下的假說,在這邊我們將跟隨Barlow的文章著重在抽象的比喻,不討論具體的實驗例子。

讓我們將感知系統化簡為一個傳送訊息的通道,它受到一些生物上的限制(例如神經元連接的方式、生理循環條件、不確定因子造成的噪聲等等),目標則是要將有用的訊息傳送給其他系統(例如動作、整合、學習、記憶等系統)來使用。感知系統該如何“編碼(encode)”各種輸入的訊息(例如看到的景色、聽到的聲音、感受到的觸覺)呢?可以想像的是,如果將此想成一個工程上的問題,將會有非常多種可能的實現方式。然而以視覺系統為例,腦神經科學家在不同演化路徑上的模式生物中都發現了相似的感受場形狀。乍看之下,演化似乎很有規律地選擇了一些特定的方式來實現腦中的感知系統。

效率編碼假說對這個大哉問的回答很簡潔:感知系統將會使用“最有效率的方式”來編碼訊息。

通常當這樣抽象的大原則被提出,就會被認真地質疑和檢視其具體在生物世界中的對應和實現為何。什麼是“最有效率”?是用什麼樣的單位來計算?相關的生物意義是什麼?如此一長串的問題與辯論進行下去,再寫一本書都不為過。“效率編碼假說”至今仍然是(理論)腦神經科學界火熱的概念,只不過對於每個研究者來說,他們心中想的定義可能都略有不同。

所以讓我們悄悄地避開這些在前線關於細節的爭辯,回到Barlow1961年論文,看看他最後的一段話:「盲目地研究感知系統將是愚蠢的,人們必須仔細看看動物是怎麼利用它們的感官系統。」就算效率編碼假說不是終極的回答,透過這樣計算的視角,我們得以有個著力點踏出詢問生命意義的一小步。

預測編碼假說

效率編碼假說推崇大腦會用最有效率的方式來編碼訊息,同樣廣受歡迎的「預測編碼假說(predictive coding hypothesis)」,則更進一步猜測腦中不同階層的區域會透過“預測(prediction)”以及“預測誤差(prediction error)”的訊號來更動其編碼方式,藉此提高效率。

想像你在大公司或是公機關擔任小職員,當客戶上門時,如果他的需求在你預期可以處理的範疇之內,那麼你就會不用麻煩其他人,自己就可以解決。然而如果遇到你無法處理的狀態時,你可能會趕緊向小主管求救,希望見過比較多大風大浪的他,能夠預期如何處理這種突發狀況。如果仍然不見效,你們可能會一起彎著腰去跟大老闆求助,如此往上報直到問題解決。

和上述的故事很相似,預測編碼假說提倡不同腦區和層次會各自維持一個“模型”,模型會根據各種感知輸入和其他區域給的訊息,產生對輸入訊號的預測。一旦預測錯誤,便會用預測值和實際輸入訊號的差異來更改模型。在接近感知系統初期的腦區(例如V1的皮質柱),可以各自負責建立模型預測不同範圍的低階感知訊息。處於高階的腦區(例如深層的視覺皮層)則負責建立比較抽象的高階層模型。如此一來,效率編碼假說中想要尋找的“計算目標”,便可以是“降低預測誤差”。

(a)一個預測編碼模組內會有模型線路(灰色部分)針對輸入產生預測,另外會有線路(紅色和藍色部分)計算出預測和實際相差的誤差。(b)多個預測編碼模組串聯或是並聯成的網路,提供不同層次的範圍的模型,並根據相鄰模組的訊號來更新自身的模型。

從之前多巴胺的例子中,我們已經看到多巴胺神經元扮演著類似“獎勵預測誤差”的例子,Rajesh Rao和Dana Ballard也在他們1999年經典的論文中嘗試用預測編碼假說來解釋感受場的一些性質。簡單總結來說,效率編碼假說和預測編碼假說,在過去幾十年中讓腦神經科學家有了一套“計算的語言”,得以深入的分析和理解在實驗中觀察到的現象。在未來,我們是否能夠擴大它們的詞彙庫,並且讓高層次的理論與低層次的生物實作細節有更多的連結?又或是能夠有其他的計算原則/假說能夠引領腦神經科學步入下一個階段?

總結

腦神經科學是個既和我們自身相關、豐富有趣又充滿可能性的一個主題。對於之前沒有接觸過太多相關知識的讀者,希望本章的內容能夠激起你進一步學習的基礎和熱忱。而對於領域內的讀者,也希望本章的編排及敘事角度能夠帶給你新的啟發。

雖然計算的工具和概念在近年來開始被大量使用在腦神經科學的各種研究中,但是“用計算的思維來認識大腦”這個角度則是才正要萌芽。筆者私認為“計算”是人類在進行“機械與邏輯化思考”時,最舒服和最能夠建立共識的形式語言。不過如何建立一套“計算的語言”以及相對應量化的分析技術、實驗設計、以及理論的架構和詮釋,仍然還要走一段漫漫長路。

透過本書十個橫跨數學、物理和生物的章節,希望讀者能從中獲得感官和知識上的享受,在酒酣耳熟之際,也可以細細咀嚼每道菜背後的醍醐味。

延伸閱讀

教科書與其他教材:

內文引用的論文: