$ \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} $



部落格選錄







Ph.D. 第一年心得 341
Ph.D. 第二年心得 343
NeurIPS 2019 346
Ph.D. 第三年心得 348
The Glass Bead Game 352
Ph.D. 第四年心得 366
This is Biology 375
科普對我來說是什麼? 387
Simons Institute十週年研討會 393
Ph.D. 第五年心得 399

Ph.D. 第一年心得

其實2018 Spring的學期已經結束一個月左右了,也即將要從台灣回去波士頓。來到了一個新的環境求學,在自己不斷繼續成長的同時,要適應新的研究模式、身邊的合作對象、修課方式,甚至是語言還有表達與溝通。一直想要找個機會整理一下這段時間下來的想法,很多不同的思緒混在一起,讓我就這樣不知不覺拖到現在,終於下定決心就不管太多寫就對了。

Harvard vs. Taiwan

在回台灣的這段日子中,最常被問到的一個問題就是:「你覺得Harvard那邊和以前在台大或中研院差最多的地方在哪?」。很多人會猜是這邊的人比較聰明,或是這邊的資源比較多等等。這些也許是這樣子的(雖然我不完全這麼認為),不過就我個人的感受來講,這邊和在台灣最不同的地方就是,這邊大部分的人(學生和老師)都非常的努力認真。

還記得在台灣的時候,特別是在高中時,身邊常常瀰漫著一種氛圍,讓人感覺好像不用很努力就考很高分是最厲害的。許多同學最喜歡做的就是在考試前後到處宣揚自己都沒有什麼唸書,然後在成績出來時哀號自己考很爛,結果卻在期末時默默拿了書卷獎。當然並不是所有人都是這樣,在台大和中研院還是讓我遇到了非常多令人敬佩的人。不過到了Harvard之後我才突然驚覺身邊竟然幾乎所有人都是這樣子。很多在Harvard的學生的確背景很硬很聰明,但是他們的拼勁還有求學做學問的精神更是他們成功的原因!

舉個令我印象非常深刻的例子,主角是一個大我三屆的波蘭人學長J。在進去Harvard前參加的visit day時,和他閒聊之際討論到了一篇剛剛發表在arXiv上我很感興趣的文章,我們都只大約知道文章在講些什麼,對於細節沒有很懂,因此討論到一定程度後就發現只能遊走在邊緣,無法做建設性的討論。到了隔一天的晚宴,在經過行程滿滿的兩天之後,我幾乎已經忘記跟這篇文章了,結果J就興沖沖地坐到我旁邊,趁著上菜的空擋時,直接在餐巾紙上把文章裡面的幾個關鍵構造講給我聽,瞬間一切豁然開朗,短短的十幾分鐘讓我抓到了這篇文章的重點。讀文章也許不是什麼了不起的事情,如果只是要抓到這樣的程度,可能花個一兩個小時就夠了。讓我佩服的是,J純粹只是因為對於知識的好奇,就這樣去看了一篇和他的研究毫無相關的東西。這樣的行為可能說來簡單,但是要這樣實踐卻不是件簡單的事情。一直到現在一年下來,類似這樣的事情非常頻繁的發生,而且不只是J,很多其他的學長姊也是這樣,在這樣的環境之下做研究,視野和過去的環境是完全不能相比的。

改變最多的是什麼?

這趟回台灣在中研院還有元智大學總共給了三場演講,最後一場在中研院的時候,以前的指導老師KM問了我,在這一年中到底是做了什麼樣的改變,他覺得我的演講比之前好很多。聽到這個問題的當下,心中其實五味雜陳,一方面是想起之前他時常說我演講報告得不好,一方面是受寵若驚,而同時我其實並沒有特別感受到自己的演講方式有改變太多,甚至可以說我一直以來很自豪的就是我報告的能力還不錯(除了最近覺得語言有點混亂,中文和英文都講得不太好…)。

不過話說回來,KM點出了我一直以來很大的缺點:在high-level的直覺和數學細節之間的切換不順暢。對於理論CS來說,最重要也是最吸引我的就是對於定理的抽象理解,透過不斷的詮釋理解,吸取出定理的精華,融入直覺做出推理。然而這一切的根本都還是一行一行的數學推導,只要有一個環節出錯,再美好的故事都沒有用,結果一翻兩瞪眼。因為這個領域的本質是這樣,於是一個好的演講通常必須同時兼顧high-level的直覺,以及所使用到的關鍵數學細節。然而只有這兩個是不夠的,畢竟聽眾不見得對於演講的題目了解這麼多,因此在high-level和細節之間的切換就顯得非常重要,只要一閃神,就很容易讓許多觀眾迷失在式子與符號海之中。可想而知,過去的我大概就是這樣常常讓聽眾迷失卻不自知吧?

Ph.D. 第二年心得

在Harvard的第二年轉眼間就結束了,暑假也過了一半,很快的Ph.D.生涯也要越過中線。看看現在的自己也許小有成長,但是完完全全不足原本對自己的期待。在今年暑假的CCC(Computational Complexity Conference)中和好友Lijie聊了很多,聽他給了很多建議,雖然不見得完全適用,不過在剩下的時間,我是該好好重新思考策略和方向了。

這一年做了什麼?

回想起來這一年實在是個蠻受挫的一年,在生活上遇到的打擊影響到了研究的心力與時間,而研究上方向的選擇也有點不太理想,無論是成果或是學到的東西似乎都不太及格。

這一年在研究上除了一些小分枝外,主要專注在代數複雜度(algebraic complexity)的方向,尤其是matrix rigidity還有border Waring rank這兩個問題。前者是將一個組合性質的問題(circuit lower bound)轉換成一個具有代數結構的問題,目標是要找到一個和low rank matrices在$\ell_0$ norm上很遠的矩陣,這樣的構造會得到logarithmic深度的super-linear circuit lower bound。我非常的喜歡matrix rigidity這個概念,因為它把一個看似可以很複雜任意的結構(i.e., circuits)轉換成了很方便思考分析的代數問題。然而matrix rigidity被提出將近50年以來,在領域之內一直沒有非常重大的突破。這一年來我和合作者Sasha嘗試了好幾種思路,也慢慢降低我們的標準到比較差一點的參數,然而總感覺還是只有在問題的表面划水。至於border Waring rank的研究,起初是因為感覺裡面的數學挺有意思的,於是花了一個學期上課把representation theory學起來,終於把想看的paper看懂,但是同時又發現似乎要再懂更多的數學(lie algebra, algebraic geometry etc.)才有能力在這個方向有些貢獻。

回想起來,覺得自己當初太只有根據對於一個問題的喜好來決定是否要深入研究,而忽略了自己或是身邊的人有沒有相對應的能力。就像Lijie說的:「這個問題憑什麼是被你解出來的?」,我除了時間比那些很忙的大老們多之外,還有什麼其他的優勢?

給自己的定位

於是這就回到給自己的定位是什麼了。每個不同的研究者,都有各自的強項和弱項,有些人擅長high-level的直覺,有些人擅長複雜的計算,有些人懂得各式各樣的數學工具,有些人則可能像我一樣什麼都不太行…不過話說回來,對一個Ph.D.學生來說什麼都不行是很正常的,然而到了畢業的時候就不能再這樣了,至少要在一種能力上是頂尖的,才有可能在學界生存下來。於是一個很重要的問題就是,在Ph.D.的這段期間,我想要培養哪一種能力?然後我該如何去培養?

以我個人來說,從大學時期我給自己的設定就是建立廣的知識庫,無論是在TCS或是數學,然後同時可以具有一兩個專精的小方向,熟知那些方向的技術以及問題。目前看來在這兩個不同的軸向我都做得沒有很成功,在廣度方面,我自認接觸的還算多,不過內化的程度並不是很好,很多東西都還是停留在「聽過,知道些名詞,但是沒辦法和別人進行太多有意義的討論」的階段。而在深度方面,我想要專精的子領域是arithmetic circuits和boolean circuits,然而在這兩個方向上我都還停留在「知道許多重要結果,懂大約的證明思路,但是無法信手捻來,更不用說問出有意思的新問題」。

所以其實話說回來,我一直隱隱約約定位了自己的方向,然而問題出在我沒有把自己推往這個方向,而是常常因為偷懶或是被其他東西吸引,而偏離了主要的軸心。在所剩不多的時間,我該好好思考該怎麼樣把自己推回想要的道路上了。

下一步

培養個人能力和研究是需要兼顧的,也正因為如此,在選擇要投入大量時間的研究時,更要謹慎地做出決定。像是我在第二年專攻的這兩個方向,都有點太過細微,只是解決一個大問題中的一個特殊approach,並不見得刻畫了大問題的面貌,在技術方面也很綁手綁腳。

既然主要想要專攻的方向是arithmetic circuits和boolean circuits,其實最主要的就是那幾個核心問題:lower bounds, derandomization等等,而其中又分為各式各樣不同的circuit models,各自有自己的frontier。對於現在的我來說,對於大部分的state-of-the-art結果,其實都只有些模糊的概念,無法準確地理解困難點在哪裡,然後有什麼潛在可以問的問題。所以一個要盡快完成的重要功課,就是好好的看書讀paper把這些東西抓起來吧。也希望自己趕快恢復當年勤奮寫notes的狀態,好好的內化這些技術,建立自己的知識庫,而不是腦中只有一團混在一起的概念而已。

除此之外,心理素質的養成也是很重要的。TCS其實還是個讓人挺有壓力的領域,畢竟非常厲害的人實在太多了,大家速度又非常的快。要如何不要太受影響,並且還是持續讓自己不斷推進,更是得要想清楚定位,而且不能封閉自己,要適當地與其他人交流學習。天呀,我真是覺得走這條路實在是個很自虐的選擇,不過成就感和滿足感也是特別的大。人生就這麼一次,就不要給自己後路,好好的拼下去了吧!

NeurIPS 2019

NeurIPS是當今computer science最大的國際會議,參與人數上萬,收錄的論文數量破千,在坊間大家開玩笑稱之為大拜拜。由於過於龐大,NeurIPS的論文品質參差不齊,因此廣泛的受到理論界的鄙視,而且各種傳言甚囂塵上,讓我在參加之前不抱有任何期待,主要的準備都是在計畫要去品嚐Vancouver的美食。不過一個禮拜下來,雖然在知識方面的確沒有什麼成長,倒是在思想層面上有了些新的看法。

身為一個理論學家,在同溫層中大家對NeurIPS的批判通常不外乎(i)許多論文的結果太過incremental(ii)許多論文的方法太ad hoc(iii)很多的數學推導是錯誤的或是太trivial(iv)有些論文在方法論上很不嚴謹等等。在這幾天的經驗中,的確見識到上述的這些詬病之處,但是也看到一些優點例如(i)許多研究很接地氣(ii)許多跨領域合作等等。

不過讓我真正開始認真思考的原因是來自於和一個醫生朋友的對話。在第一天的議程結束之後,我們在閒聊之際,他突然說他覺得NeurIPS大部分的研究,都還是太理論,不夠應用。聽到他的想法我感到既意外又不意外,畢竟他不是主修computer science,所以許多對理論學家來說很應用的研究,對於他們要實際應用來說的確還是距離遙遠。而我感到意外的是,我以前竟然沒有認真意識到這點,也就是理論不理論,應用不應用,其實不應該是二分法,而是相對的。而且這是一個非常細緻的分工,每個研究者根據自己的喜好和能力選擇某一段的分工。由於目標的不同,再加上對於彼此的不了解,便不知不覺產生了隔閡,甚至於對彼此的誤解和歧視。

因為進入門檻高、方法抽象、需要大量背景知識,從事理論的相關研究常常會被視為高大上,但也同時被嫌棄與現實脫節。而較為應用的領域很容易被大眾所理解,搭配上華麗的包裝,非常的酷炫,只不過因為許多的困難點在於處理工程上的細節或是瑣碎的操作,因此被理論學家認為”只要想做,花時間就做得到”。以我個人來說,既有被做應用的人當面抨擊的經驗,也有不少和理論朋友在茶餘飯後嘲弄應用領域的對話。現在想想兩邊的行為都顯得有點幼稚,畢竟貶低他人並不代表自己就比較厲害。Donald Knuth曾經說過:“The best theory is inspired by practice. The best practice is inspired by theory.”,什麼樣子的理論研究可以同時對理論界和應用領域有影響力呢?

證明circuits lower bound有什麼意義呢?解決各種conjectures對這個世界有什麼影響呢?理論學家常常說,解決一些理論問題,可以幫助我們更加了解問題的本質。然而解決這些抽象的問題,對於現實生活的應用有什麼幫助呢?也許問這樣的問題本身就是一個錯誤的方向,當Andrew Wiles證明了費馬最後定理後,對於一般人來說最直接感受到的應用大概頂多是閒聊之際的一個話題,大家甚至只會記得一些小八卦像是證明一開始被抓到bugs,還花了一年補洞。難道除了作為故事之外,這些困難的理論/數學問題就對現實社會沒有貢獻了嗎?

或許貢獻的方式並不是直接可以讓人看到感受到的,而是像蝴蝶效應不知不覺擴散出去。愛因斯坦建立了廣義相對論後,多年後在GPS中找到了應用。某種程度來看,這樣的應用已經算蠻直接了,看看理論CS中重要的open problems,大部分都無法如此直接的找到具體應用。但這並不代表解這些問題就對實際應用完全沒有貢獻,也許解決了一個組合學的猜想後,可以讓理論ML學家進一步解決他們的一些open problems,再更進一步影響較為應用的人,如此形成蝴蝶效應。

也就是說,在討論理論與應用的平衡時,並不見得是要直接思考最抽象的定理和最接地氣的研究,一個比較好的切入點可能是想想看與鄰近的子領域的互動,讓影響力如同骨牌一般慢慢傳遞出去。有些時候只能在很相近的領域間影響(e.g., 從代數幾何到代數複雜度理論),有時候可能可以跨越比較多子領域(e.g., 從複雜度理論到ML),大概只有在非常幸運的情況下才有可能有非常直接的影響力。用這樣的心態來面對理論和現實的差距,也許會讓人更清楚自己的定位吧?沒想到這麼簡單的概念,我竟然是在參加完NeurIPS之後才想清楚的…

Ph.D. 第三年心得

立秋過後一週,新英格蘭地區的酷熱終於得到(暫時的?)緩解。也不知道是今年真的比往年炎熱,還是長期的隔離讓時間感覺過得特別慢?突如其來的疫情改變了生活,也改變了對時間的感知,秋天即將到來,也意味著又是一個學年的結束。

相較於前兩年迷茫的探索,第三年博士生的日子則像是在看到一些方向以及得到一些成果後,感到更加的迷茫了。不過迷茫也許沒有聽起來得那麼負面,畢竟在Harvard校園隨便攔個研究生,我相信大部分的人也都會說自己很迷茫。所以重要的可能是要知道自己在迷茫些什麼吧?前兩年的我主要是對於自己能力上的懷疑,而如今在跨越Ph.D.的中線之後,不斷在我腦中思辨的是什麼樣的研究方向(甚至生活方向)是我所追求的。

不過anyway,在比較嚴肅的討論前,先來回顧一下這一年發生了些什麼事情吧!

這一年做了什麼?

去年的此時,在幾番思考後,決定除了在我主要的領域complexity theory之外,多花些時間探索和theoretical neuroscience相關的研究。因緣際會之下,和在MIT讀Ph.D.的好友Brabeeba展開了合作。連續幾個月我們密切的在MIT學生餐廳、Harvard的宿舍甚至還有波士頓交響樂團的音樂廳進行大量的討論,最終我們不但成功的給出了第一個biologically-plausible learning rule的convergence rate分析,相關研發出的技術,也讓我們有了些後續的有趣延伸作品。

這次和Brabeeba緊密的合作經驗,除了給我更多在研究上的自信之外,也在如何與人合作上面獲益良多。Brabeeba和我在研究風格上非常不同,不同到幾乎是完全互補。在好的時候,這樣的互補可以讓研究進展得非常迅速,因為每次我卡住的時候,Brabeeba總是會有些新的idea,而當Brabeeba覺得遇到dead end的時候,則是換我開闢出另一條道路。然而這樣的互補關係在遇到不同見解的時候,尤其是在寫作的部分,我們總是爭的互不相讓。不過幸好我們之間一直有著很良好且直率的溝通,最後通常可以把爭執點轉為前進的能量。

而在complexity theory相關的研究,雖然在大部分感興趣的方向上仍然毫無進展,不過至少在一個方向上有了一些突破。一切的起點是個聽起來很簡單的問題:在只有logarithmic space並且1-pass的情況下,可以多好的approximate一個directed graph的最大directed cut?之前的研究發現了比trivial做法還好一點的(2/5)-approximation,然而另一方面,大家只知道(1/2)-approximation是達不到的。在和Santhoshini和Sasha的合作之下,我們發現了(4/9)-approximation才是最終的答案!並且透過相關的技術,我們徹底的分析了所有boolean 2CSP在streaming model下的最佳approximation factor!到了暑假的時候Madhu加入了我們的討論,又更把這方面的研究往前邁進了好多步。

此外,在和Boaz和Xun的合作中,我們試圖挑戰google的quantum supremacy實驗。起初Boaz和我有個簡單的classical algorithm,不過在分析上一直不是很理想,直到和Xun聊過之後,發現在理論物理常用的tensor network技術可以很直接給出嚴謹且理想的分析。而在後續的研究中,由於純理論的分析會有些本質上的障礙,於是我們使用了部分理論、部分數值模擬的方式來論證我們的演算法效果。

這樣的研究方式帶給我極大的衝擊,以前的我總覺得,如果不能從頭到尾用數學嚴格論證就不是理論研究。但在這次和理論物理學家合作之後,我才感受到與其加了一堆假設後硬推出很鬆散的理論證明,可能不如部分理論、部分實驗來得有說服力。不過當然還是要看想解決的問題是什麼,如果是個本質的理論問題,那對於數學嚴謹度的要求當然是必須百分之百,然而如果是在探討更實務或是跨領域的問題時,也許理論與實驗之間的美妙平衡能提供更多更深入的insight。

新的迷茫?

這一年下來做了三個很不一樣的方向的研究,很幸運的都有些產出,讓我對自己更加有些信心。不過接踵而來的則是對於未來方向的思考,一來是時間上的分配,總是得在這些不同的方向中分出優先順序,二來則是在接觸不同的研究方法後(e.g., neuroscience和物理),讓我開始回過來思考什麼樣的研究是我追求的、欣賞的。

在很多時候,complexity theory的問題雖然非常的吸引我,但同時也會讓我有種這就只是個intellectual game的空虛感。雖然說到底這可能就是純理論研究的矛盾/悖論之處,一方面如果只看大問題而不踏出微小的一步,可能會永遠踟躕不前;另一方面如果都把時間花在做微小的改進,可能花了一堆時間,卻還是沒有碰觸到根本的問題。然而一直陷在這個悖論中也不是辦法,我想我能做的大概也就是定期省思一下,到底complexity theory之於我是什麼吧,是一個證明自己intellectual power的舞台?還是承載著想要解決根本問題的使命感?

也因此在年初的時候我開始有了想再念一個數學Ph.D.(in Algebraic Geometry或相關領域)的想法,主要是在接觸了更多數學之後,深深覺得還有太多深層的數學沒有被拿來思考和complexity theory的關係,而且學習這些數學需要有對的“語言”,如果我在這樣順順走下去,是沒有機會好好的把這些語言學好的。就像是想要把英文學好,如果是在一個非英文母語的環境之下是不太可能的。不過話說回來,再讀個數學Ph.D.只是其中一種可能辦法,也許還有別的更好的方式?總之現在決定還太早,可以等到明年這個時候再來煩惱…

面對未來

人總是不停地在變,這大概是我這幾年來最大的一個醒悟了吧。變的可以是在能力上、視野上,也可能是在性格上、價值觀上,而這就告訴了我們當下覺得未來想要的,並不見得會是未來的自己真正想要的。以我自己為例,說來好玩,當初我會往學術界走的原因其實也不是因為喜歡做研究(畢竟我跟大部分的人比起來,是相對很晚開始接觸做研究的),只是單純對於學習很感興趣,而乍看之下學術之路似乎是個可以讓我開心終身學習之路,於是就這樣誤打誤撞走了下來。運氣很好的是,在多年下來之後,我發現自己很享受在做研究中探索未知的感覺,尤其是好幾個研究最後的結果都和一開始預期的很不同,讓我被這種神秘感深深吸引。而在研究方向上更是如此,在一年之前根本無法預期現在的我竟然在思考這些研究方向,同樣的現在的我大概也無法預測一年後的我在做些什麼吧。

幾個禮拜前,在一次散步中,我跟Boaz說最近我感覺遇到了career crisis,覺得不知道要往哪個方向走,不知道自己這五年十年要往哪裡發展。Boaz的回答很簡單,對我來說卻猶如醍醐灌頂,他說你就先好好想想接下來一年要做什麼就好了吧!也許是因為在讀博士之前的路,都有太多人的例子可以參考了,所以總可以先規劃好未來的計劃,然而真的到了獨立研究的階段時,每個人都必須開創自己的一條路,也許有些人可以往後看到幾年的發展,但是在大部分的情況下都是走一步算一步的。畢竟每個人都在變,這個世界也在變(e.g., 突然就來個pandemic),所以除了思考未來之外,很重要的一個能力是在每個當下找到好的方向,全力以赴,這大概除了做研究之外,在其他的人生課題上也是如此吧。

很多時候有些朋友總叫我別想太多,的確這樣做也許會讓自己少些煩惱,日子過得更開心點。不過至少對我來說,多胡思亂想通常能讓我更加知道自己到底想要什麼。畢竟日子還是要開心的過,然而什麼是讓自己開心的有時候並不是想像中的那麼明顯,說不定答案就是藏在胡思亂想產生的迷茫之中吧!?

The Glass Bead Game

說來慚愧,在今年以前,我從來沒有從頭到尾讀完一本英文書(可能英文論文也是…)。教科書通常要嘛是因為讀到一半學期就結束了,或只是拿來翻翻有需要的地方。小說或非小說類的書,總是因為讀的速度太慢加上理解程度不是那麼好,往往中途就放棄改買中文版了…疫情前要這樣搞還算容易,最多就是忍耐個半年一年就可以回台灣買中文書。不過疫情開始後,看不到下次回家是什麼時候了,而中文書的庫存也逐漸殆盡,於是我終於開始硬著頭皮緩慢地讀英文書了。

我本來就不是個看特別多書的人,一年可能也就看個十到二十本書,平時可能就睡前讀個半小時一小時。尤其我的自制能力可能還不錯,即使迷上了一本小說,我還是會很克制的一天就只讀個兩三個章節。所以就算是一本三百頁的中文小說好了,可能還是會要花個兩三個禮拜才讀完。不過這次迫於天災開始讀英文書,沒想到我開始認真看的第一本英文小說,從頭到尾四百多頁竟然花了我九個月才看完…換算成閱讀速度的話,我的中文閱讀速度幾乎是英文的15倍!

而這本我讀完的第一本英文小說,Hermann Hesse的《玻璃珠遊戲》(英譯:The Glass Bead Game;德文原名:Das Glasperlenspiel),其實原本是用德文寫的。如果我有生之年學了德文,可能又要再花個幾年才能把原文的版本讀完了…不過話說回來,在分享我的感想之前,還是得說讀英文小說(可惜這次我讀的小說原文是德文不是英文…)的體驗和讀中文小說蠻不一樣的。一方面是語言文法句型結構的不同塑造了不一樣的氛圍,一方面則是字的選擇(雖然我的單字量非常少,不過我遇到感興趣但是不懂的字都會去查一下)更是增加了另一個維度上的豐富性。舉個比較生活化的例子,把一本用英文寫的小說翻成了中文,就像是把一首鋼琴奏鳴曲編成了小提琴版本。的確小提琴還是可以把曲子演奏的很動聽,不過有一些作曲家想表達的細微想法可能要在鋼琴的演奏才感受的出來。

前言 - 科學研究的啟蒙與一些近期的體悟省思

看完《玻璃珠遊戲》之後,我對於科學研究有了全新的省思。科學研究是什麼?對於這個問題可能每個人的答案都會有些不同,在不同的人生階段可能也會有不太一樣的體悟。為了避免誤解其他人對科學研究的詮釋,就讓我講講自己在不同時期的理解吧!

相較於現在身邊的在各個不同科學領域中的佼佼者,我的科學啟蒙是相對非常晚的。從小我的父母很努力讓我在一個沒有太多競爭、能夠自由探索的學習環境下成長,而好動的天性讓我在大學以前把大半的時間都花在運動上面,學習對我來說就是個“國民義務”,而研究更是我從未接觸過的未知事物,只有印象某些同學會為了升學弄一些煞有其事的科展。

在大學的前三年,我開始接觸到一些比較有意思的知識,無論是數學之美、歷史的糾結、社會學的深刻還有哲學的富饒,在大學中傳授知識的方式和內容徹底的啟蒙了我對於學習的熱忱和好奇,也因此讓我很想要能夠一直待在這樣的環境中不斷汲取精神的養分。那要如何才能一直待在這樣的環境呢?在多方請益之下,我才發現,原來必須要“做研究”才能獲得留在學術圈的門票,然而到底什麼是做研究呢?對於當時的我來說(相信對於一般社會大眾來說也是),腦中浮現的就是課本上諸如愛因斯坦等偉大科學家,在黑板面前寫下一堆看不懂的公式,或是穿梭於冒著煙的各種不知名儀器。

然而身為一個電腦科學本科的學生,所謂的“研究”似乎又和想像中的很不一樣。身邊的同學有的成天在煩惱如何讓機器人踢足球,有的埋首於大型程式專案的開發,有的則是一天到晚在等機器學習的訓練結果跑完。對於熱愛抽象思考的我來說,這些怎麼看都跟我感興趣的知識扯不太上什麼關係,唯一一次讓我感到興奮的是在一個軟體工程的專題中,老師推薦我學習一些「設計模式(Design Pattern)」的概念然後應用到一個大型程式裡面。我十分著迷於設計模式裡面各種優雅的物件導向概念,但同時這些漂亮的抽象概念似乎又不是研究中的主角。

在大學的最後一年,我終於在繞了一大圈之後,如同一開始所料決定投身於理論研究。在台灣做電腦科學理論的人非常少,沒有什麼具體的研究問題可以做,身邊也沒太多人討論。不過這樣的環境反而讓我在這一年中可以非常自由的敞洋學習的大海中,讀了大量的研究論文和書籍,也寫了不少的筆記,現在回想起來實在是一段精神上非常充實愉悅的時光。

後來順利的申請博士班來到了Harvard,滿懷雄心壯志的想要繼續吸收各種知識,同時也期許自己在研究上可以做出新的貢獻。卻在時間一年一年過去後,才慢慢發現當初吸引我的那些知識和學習的純粹之美,竟然不完全是最前端科學研究的首要目的,甚至會被一些領域裡面汲汲營營於發表論文的人所不齒。我漸漸開始理解當年在科學哲學課上學到Thomas Kuhn對常態科學(Normal science)的批判,而近期看完的《玻璃珠遊戲》更是重重敲醒我的最後一根稻草,讓我又開始不斷的思考最根本的問題:科學研究是什麼?是為了什麼?

《玻璃珠遊戲》The Glass Bead Game

讀完《玻璃珠遊戲》後,那種思想上和精神上的震撼,絕對不亞於在大學時第一次接觸現代數學時的衝擊。醞釀了許久之後,遲遲找不到一個下筆的起點,因此我決定在不劇透的情況下,藉由引用書中的一些句子,來分享這本書帶給我的啟發。裡面的句子和頁數是來自於Richard Winston在1969的英譯版本,中文翻譯則是我的詮釋。

對完美與純粹的追求

There is truth, my boy. But the doctrine you desire, absolute, perfect, dogma that alone provides wisdom, does not exist. Nor should you long for perfect doctrine, my friend. Rather, you should long for the perfection of yourself. The deity is within you, not in ideas and books. Truth is lived, not taught. Be prepared for conflicts, Joseph Knecht, I can see they have already begun.

真理是存在的,我的孩子。不過你渴望的那種純粹、完美並且提供智慧的學說是不存在的。你甚至不應該期盼有個完美的學說,我的朋友。你應該追尋自我的完美,畢竟道理是存在你心中而不是在思想和書本裡的,就如同真理是被實踐而非教導的。Joseph Knecht,準備好面對衝突、矛盾與困惑吧,我可以看到一切已經開始了。

Page 83.

身為一個極為幸運的人,從小除了一些家庭經濟上的煩惱之外,父母總是給我很大的自由去跟著直覺還有興趣選擇人生的方向,因此我的生活一直非常具有理想主義的色彩。在上大學後開始接觸許多被包裝良好的各種學說,更是加深了我對完美以及純粹的追求。大概是到了讀博士的第三年,我開始接觸一些跨領域的研究,漸漸認知到純粹理論和現實的巨大鴻溝。尤其是在認真的思考生物學的問題之後,更是讓我懷疑這世界上是不是沒辦法有完美解釋一切的理論。在這段期間我的思想被劇烈的撞擊,這感覺大概就像從小的信仰受到了挑戰,發現這個世界可能沒有當初想像的這麼美好單純。

相信存在完美純粹的學說是個浪漫的選擇,或者說這也許是個比較輕鬆的選擇。如尼采說「上帝已死」,對信仰開始產生懷疑甚至將之拋棄,是選擇走向一條即將充滿衝突、矛盾與困惑的路,不過這可能才是通往真實世界的路吧?

知識、生命以及存在的價值

At that time I was ambitious to work out a history of the sonata from a new point of view; but then for a while I stopped making any progress at all. I began more and more to doubt whether all these musical and historical researches had any value whatsoever, whether they were really any more aesthetic substitute for living a real life. In short, I had to pass through one of those crises in which all studies, all intellectual efforts, everything that we mean by the life of the mind, appear dubious and devalued and in which we tend to envy every peasant at the plow and every pair of lovers at evening, or every bird singing in a tree and every cicada chirping in the summer grass, because they seem to us to be living such natural, fulfilled, and happy lives. We know nothing of their troubles of course, of the elements of harshness, danger, and suffering in their lot. In brief, I had pretty well lost my equilibrium. It was far from a pleasant state; in fact it was very hard to bear.

當時我很有野心地在研究這首奏鳴曲的歷史,想要提出一個全新的觀點。然而有一段時間我卻突然完全無法有任何進展,我開始越來越懷疑這些關於音樂和歷史的研究到底有什麼價值,它們的美和藝術真的可以作為現實生活的替代品嗎?簡而言之,那段時間我經歷了前所未有的低潮,懷疑這一切學習和知識上的追求,還有所謂心靈生活的意義與價值。我開始羨慕那些耕田的農民、黃昏下的情侶、樹上歌唱的鳥兒與夏日草原中唧唧喳喳的蟬,他們看起來是活得如此的開心、自然又充實。當然,你可以說我們完全不懂他們所遭遇到的煩惱,可想而知他們也必定苦於各種嚴厲的挑戰和危險。簡單來說,那時候的我幾乎失去了生活的平衡,感受不到一絲喜悅,甚至說是處在一個痛苦且難以承受的狀態。

Page 101.

這一段文字,可以說是切切實實的描述了我在疫情這一年的生活寫照。隨著在學術界越待越久,研究經驗和成熟度也漸漸提升。但也因為更深的理解,反而對於研究內容的意義產生了更多的懷疑。多做出了幾個“研究結果”,除了對領域內少數的專家之外,還有什麼其他的價值?當我試著很誠實的去回答這個問題,就會發現主要的價值似乎是在讓自己開心,這之中包括滿足了好奇心、解決問題的成就感、研究結果和能力被外界認可的虛榮感、研究所產生的一些價值感等等。

其實,在想這些關於價值的問題,也不是說做研究沒有實際價值云云,而是在想當一個科學家犧牲了生活、家庭、健康等等造就傑出的科學貢獻,這是我所追求的價值嗎?如果是的話,那為什麼有時候心裡會感到如此的掙扎難受?又或是研究帶來的喜悅不如從前了?價值並不是一個絕對的度量,而是隨著時空不斷變化調整,要如何知道自己的價值觀正在漸漸的改變?要如何面對自己價值觀的變化?

懷疑所學之物的意義

What was important to him were his studies, all of which now centered around the Game. Another preoccupation was, perhaps, that one question of whether the Game really was the supreme achievement of Castalia and worth devoting one's life to. For even as he was familiarizing himself with the ever more recondite mysteries of the Game's laws and potentialities, even as he became more and more at home in the labyrinths of the Archives and complex inner world of the Games' symbolism, his doubts had by no means been silenced. He had already learned by experience that faith and doubt belong together, that they govern each other like inhaling and exhaling, and that his very advances in all aspects of the Game's mirocosm naturally sharpened his eyes to all the dubiousness of the Game.

對那時候的他來說,最重要的就是一切關於玻璃珠遊戲的學習。不過那時候一直有個問題纏繞在他的心頭上:玻璃珠遊戲真的就是Castalia裡最至高無上的成就嗎?玻璃珠遊戲真的值得一個人奉獻和投入他的一生嗎?即使他正在讓自己從遊戲的規則和可能性中熟悉越來越深層複雜的謎團,即使他漸漸熟稔檔案館中曲折的迷徑以及遊戲符號裡複雜的內部世界,他心中的質疑從來沒有安靜下來過。從經驗中他已經學到信念與質疑是共存的,它們如同吸氣和吐氣般互相支配。而他對遊戲裡各個層面最尖端理解,更是引領著他直視著遊戲中所有令人感到可疑與不安的地方。

Page 134.

在上一個段落我們討論到了知識的”價值”,在這一段文字中主角更是開始思考所學之物的”意義”。聽起來價值與意義好像是差不多的東西,不過仔細想想的話,價值是指比較客觀物質和感官層次的感受,而意義則更是帶有主觀精神和情感的寄託。就像當你評論一個科學家的研究或是一個藝術家的作品是毫無價值的時候,雖然否定了客觀的實用價值,但是對於他來說,自己用心血做出來的研究和作品是有特殊意義的。

一件事情可以是非常具有價值,但是沒有意義的。舉個極端的例子,一個偉大的棒球員在職業生涯中創造了無數的紀錄,在許多球迷心中留下深刻的美好回憶。但是他其實一點都不喜歡棒球,甚至因為童年嚴酷訓練的陰影而討厭棒球,他打球純粹只是因為自己有天份,而且能夠養家糊口。棒球還有他的職業生涯對他還有社會來說是很有價值的,然而對他來說這卻是沒有意義的,畢竟要不是因為他只會打棒球,他還寧可去當個廚師還比較快樂呢!

意義是個比價值還要更飄渺不定的概念,而同時人們對於意義的追求時常是高過於價值的(或是人們會不自覺把價值轉變為意義)。要一個人做件對他來說有價值但是毫無意義的事情是可以非常痛苦的,但是如果事情對他來說是很有意義的,即使沒有具體的價值,還是可以甘之如飴。在這種情況下,意義儼然對他來說是非常具有個人價值的,而從古至今許多藝術家甚至是科學家的例子也讓我們看到,時間有時候會改變社會對於價值的判定。

不只是價值,意義也可能會改變的,就像這段文字中主角內心深處對所學之物的質疑。我覺得最精彩的地方,就是作者刻畫了主角因為對玻璃珠遊戲更深刻且更尖端的理解,反而產生了更多的懷疑。這可以說是一種智識上誠實(intellectual honesty)究極的展現,更是敲醒了我心中一直沈睡的不安。對於我自己的領域,一直以來我都十分的享受學習還有做研究的過程,然而這一兩年來接觸越來越多其他的領域之後,心中開始浮現一股難以言喻的擔憂。當然,領域本身沒有什麼太大的改變,對於其他人的意義來說應該也沒什麼變化,但是因為我的成長和見識上的開拓,我開始需要好好重新思索所學之物對我的意義是什麼了。

純粹與抽象的烏托邦

And we go even further into the realms of pure mind, or if you prefer, pure abstraction: in our Glass Bead Game we analyze those products of the sages and artists into their components, we derive rules of style and patterns of form from them, and we operate with these abstractions as though they were building blocks. Of course all this is very fine; no one will contend otherwise. But not everyone can spend his entire life breathing, eating, and drinking nothing but abstractions. History has one great strength over the things a Waldzell tutor feels to be worthy of his interest: it deals with reality. Abstractions are fine, but I think people also have to breathe air and eat bread.

同時我們更加深入了純粹心靈的境界,或是換個說法,純粹抽象的世界:在我們的玻璃珠遊戲中,我們分析了智者還有藝術家的作品,從風格還有結構中推導出規則還有模式,並且把這些抽象過後的概念作為一個個小元件般地操作。當然,一切都是非常精緻的,這是沒有人會反對的。然而,並不是所有人都可以把吃喝拉撒睡都捨去而一生中只活在抽象之中。歷史學有個超越Waldzell導師會感到有價值和興趣的長處:它關乎於現實。抽象當然是沒有什麼問題的,不過我覺得人們還是應該呼吸些空氣還有吃些麵包。

Page 279.

最近和室友看了部美劇『上載新生』(Upload),在講述未來的人在死後可以把靈魂上載到一個雲端伺服器繼續過生活。光是從這個設定,就可以想像有許多有趣的故事和問題可以發展,而編劇和導演也的確把整部劇拍的引人入勝。如果在未來這樣的科技出現了,你會想要把自己”上載”,然後從此過著不受物理和生理限制的生活,可以盡情做喜歡的事情嗎?

某種程度,玻璃珠遊戲裡的Castalia(一個書中所有遊戲大師聚集的地方)就像是個伺服器,在之中的所有人只要專注在玩遊戲還有怎樣變更厲害就好了,不需要煩惱一切其它世俗、現實與過去的問題。同樣的,在我們所處的世界中,有些領域也或多或少進入了這樣的境界,沈醉在純粹與抽象的美妙中,如同魏晉時期的清談玄學。作者的這段話,可以說是對這樣的風氣做出了委婉但深刻的批判。

關於這段話,我覺得挺有意思但是一直沒有想得很明白的是:為什麼作者選擇了將玻璃珠遊戲和歷史學做比較?尤其是”it deals the reality”想表達的是什麼意思呢?對於現在以及未來,歷史發生在過去,於是就像抽象的世界一樣不再是真實地存在於當下。歷史學研究的是過去的人物與事件,如果有現實價值的話,大概也就是所謂的見古知今了,在這方面的確又和純粹抽象的學科十分相似。但是和純粹抽象最大的不同就是,歷史至少曾經是真實過的,而抽象的學科例如數學和哲學雖然有很多實際的應用,但本質上是存在於純粹的烏托邦。

其實在書中作者並沒有明確地提及”烏托邦”,不過我刻意在這邊稱呼純粹抽象的世界(諸如書中的玻璃珠遊戲,或是數學和哲學等等)為烏托邦,是因為在這樣抽象的世界中,我們基本上都只思考著完美理想的層面,換句話說更像是一種對現實的逃避。有時候我們甚至會過於著迷於之中的美妙而忽略了現實,甚至鄙視現實的醜陋。然而reality is real,我們不該忘記我們終究是活在這個世界上。不過也許幾十年後,科技進展到可以實現『上載新生』裡面的設定,那麼也許抽象將成為新的真實?

在社會中的角色

These fine teachers out there are, strictly speaking, the only ones among us who are really carrying out the purpose of Castalia. Through their work alone we are repaying the nation for the many benefits we receive from it. Granted that every one of us brothers of the Order knows that our supreme and most sacred task consists in preserving the intellectual foundation of our country and our world. That foundation has proved to be a moral element of the highest efficacy, for it is nothing less than the sense of truth - on which justice is based, as well as so much else. But if we examine our real feelings, most of us would have to admit that we don't regard the welfare of the outside as well as inside our tidy Province, as the chief thing. In fact, it is not at all important to us. We are only too glad to leave it to those brave teachers out there to pay our debt to the world by their self-sacrificing work, and so more or less justify the privileges we enjoy, we Glass Bead Game players, astronomers, musicians, and mathematicians. It is part of the above-mentioned arrogance and caste spirit that we do not much care whether we earn our privileges by accomplishments. Even though our abstemious way of life is prescribed by the Order, a good many of us plume ourselves on it, as if it were a virtue we were practicing purely for its own sake instead of its being the least that we owe to the country that makes our Castalian existence possible.

嚴格來說,那些在外頭的老師才是我們之中唯一傳遞Castalia真正意義的人。透過他們的工作,我們償還了國家給我們的各種特別待遇。在領導階層中的每個人都知道,我們至上且最神聖的任務就是要保存國家和世界上的一切知識根基。而這些基礎價值成了道德上的元素,並且很有效的督促我們執行使命,其效力不亞於其他諸如法律等等所依賴的主觀事實。但如果檢視我們真正的想法,大多數的人都會承認,我們並不把外頭世界甚至我們小小國度內的福祉當作最重要的事情。事實上,這些對我們來說完全不重要,我們非常樂見這些勇敢的老師們在外頭犧牲自己,償還我們虧欠世界的債務。我們這些玻璃珠遊戲玩家、太空人、音樂家、數學家,甚至以這些來合理化所享受的一切特權。就是上述的這些自傲與階級意識,使得我們不在意我們的貢獻是不是真的值得這些特別待遇。就算我們因為領導階層的限制而過著節儉的生活,我們之中絕大部分人卻是沾沾自喜地將此視為一種自身的美德,而非將此視為我們回報國家的最基本方式。畢竟,是這個國家才讓我們這些Castalian有機會存在的。

Page 350.

還記得當年在中研院最一開始帶我的一個博後,在他當上教授拿到傑出教學獎的時候,在Facebook上寫到:他們系上的一個資深教授,曾經在他剛入職的時候告訴他,「教學才是當教授的本業,做研究是輔助和附帶的。」我一直覺得這句話很耐人尋味,尤其是在這個故事中更顯得有種傳承的色彩。到底作為一個教授,或是學術機構的一個研究員,肩負的天職是什麼呢?做出頂尖研究和指導後輩傳承知識,哪個更為核心?

一般的論爭也許會把這個問題作為二分法來討論,有些人擅長研究有些人擅長教書,同時兼顧的可能是少數,甚至大部分的人在兩個方面都不太及格。不過如果仔細想想,做研究的核心不也是傳承知識嗎!?所有研究都是建立在溝通和傳遞上,從一開始被領域內的專家認可,然後也許開始有些follow-up的研究,有些開始影響其他領域,有些甚至被寫進教科書,最終慢慢回歸這個社會,流入歷史的長河。

所以對我來說,研究其實是教學的另一種形式,其根本還是在於知識的傳遞,而身為學術界的一員,我們的天職就是在學習、發現和傳遞知識之中不斷循環。在這段節錄的文字中,作者對只注重於學習和發現的”玻璃珠遊戲玩家”,做出了非常銳利的批判,這未嘗不是暗諷學術界的部分現況?不過平心而論,這還是個適者生存的世界,每個人有自己的選擇,過多的批判有時可能只會造成反感和反彈,身為一個小小博士生,我只期許自己能夠將這些本質的價值和意義牢記在心中。

覺醒與真實

I never thought of those awakenings as manifestations of a god or daimon or of some absolute truth. What gives these experiences their weight and persuasiveness is not their truth, their sublime origin, their divinity, or anything of the sort, but their reality. They are tremendously real, somewhat the way a violent physical pain or a surprising natural event, a storm or earthquake, seem to us charged with an entirely different sort of reality, presence, inexorability, from ordinary times and conditions. The gust of wind that precedes a thunderstorm, sending us into the house and almost wrenching the front door away from our hand - or a bad toothache which seems to concentrate all the tensions, sufferings, and conflicts of the world in our jaw - these are such realities. Later on we may start to question them or examine their significance, if that is our bent; but at the moment they happen they admit no doubts and are brimful of reality. My 'awakening' has a similar kind of intensified reality for me. That is why I have given it this name; at such times I really feel as if I had lain asleep or half asleep for a long time, but am now awake and clearheaded and receptive in a way I never am ordinarily.

我從未將這些覺醒視為上帝、魔鬼或什麼絕對真理的展現,這些經驗之所以有分量和說服力,並不是來自於它們的真理、完美的起源、神聖性或是其他的東西,而是它們的真實。它們是極其的真實,就像劇烈的疼痛或是意外的天災,暴風雨或地震,充滿著與平時完全不同的真實、存在感還有不可抗拒力。像是雷雨前的一陣狂風,將我們趕回屋內並幾乎將前門從手中擰走;又或像是一場牙痛,把全世界的緊張、痛苦還有衝突都塞進了我們的下顎。我說的就是像這樣的真實。有時候,如果我們感興趣的話,會接著開始思考還有檢視這些覺醒的意義。但在那時候它們已經發生了,它們毋庸置疑的是如此充滿真實。我的"覺醒"對我來說就是有著像這樣劇烈的真實感。這也是為什麼我會稱這樣稱呼它。在這些時刻,我感覺我就像是沈睡或是半夢半醒了好久好久,但現在醒了,而且腦子前所未有的異常清晰。

Page 395.

我總覺得,人生就是個持續的覺醒與認知真實的過程。想想第一次吃到美味的生魚片、第一次聽到美妙的音樂、第一次被數學證明感動、第一次登上山頂眺望整座城市,在經過一些事情後,我們看世界的角度就變得不再一樣了。當眼界和見識被打開之後,就很難回去當初單純的狀態,胃口變得越來越難被滿足、開始聽得見音樂中細膩的巧思、追求抽象思考的極致、嚮往走遍世界的每個角落。覺醒可以有大有小,通常讓人在當下沒有太大的感覺,是在累積了一定的程度之後,才突然發覺自己好像跟以前有點不一樣了。

而有些覺醒則是會讓人徹底的改變價值觀,就像在啟蒙時代的人們,從宗教和感性走向科學與理性。在這段自白中,主角更是用誇張的例子強調覺醒中的真實帶給他的劇烈衝擊。同樣的,看完《玻璃珠遊戲》之後,我也經歷了類似的覺醒體驗,在看待研究或甚至是生活中的事情時,我開始會想一些以前沒有想過的層面,給事情賦予的價值也開始轉變。回頭看看幾年前的自己,突然會有種陌生感,很訝異當初的自己怎麼會在意那些事情、犧牲了這麼多其他的人事物。

是夢還是真實
或醒亦或沈睡
無盡的黑夜 風輕拂著
刺眼的白晝 萬物蒸騰
擺渡的船呀
要在哪靠岸?



後記

《玻璃珠遊戲》讓我最佩服的一點就是,作者雖然滿腹想法要告訴讀者,但是他不是用說教式的方法直接說破。而是藉由主角的成長歷程,慢慢讓這些想法自動地從讀者心中產生出來,讓人一讀就感覺到,「啊,怎麼把我心中模糊的感覺和想法都寫出來了!」甚至在故事的結局,也是在倒數幾頁時就開始讓我隱隱有種預感,而最後作者用美麗流暢的文字,將原本應該令人意外,但卻又意外地用讓我不意外的方式,留下意味深長的詠嘆。

回到最一開始提到科學研究之於我的意義,我想與其再多幾千字的論說,不如就用上面這六段讓我特別有共鳴和感覺的文字,讓讀者猜一猜、想一想、體會一下我的覺醒時刻吧!

(感謝Brabeeba Wang和Wei-Chung Lee對於文章的許多好建議!)

Ph.D. 第四年心得

又一陣強風吹了過來,汗水中摻雜的鹽分刺得讓眼睛睜不太開。再怎麼努力地划著槳,船身卻總是不受控制的忽左忽右。看著身邊的兩座小島,感覺小船不但沒有前進,甚至還被風往後吹了幾公尺。半小時前才毫不猶豫地決定在回程前繞一圈Graham lake中的第二小島,看看傳聞中的老鷹巢,轉眼間,突然捲入湖中心的風暴之中,使勁了全身的力量,只能勉強維持小船的基本平衡。在一旁盤旋老鷹,就像是在看好戲般,默默笑著誰叫我們打擾了他的悠閒時光。

幾週前趁著STOC期間大部分的meeting都取消了,和室友伉儷還有Brabeeba來到北邊緬因州的幾個小鎮,來趟久違的escape trip。就如同疫情來得突然,美國這邊解封的速度也快的讓人措手不及。在短短一兩週內,人們不再戴著口罩,幾乎所有的室內活動都正常開放了。而心裡的適應速度也是慢了半拍,還是多小心翼翼地待了好幾天的口罩,直到連續多天看到Cambridge零確診的強心針,才害羞的漸漸收起了口罩。重新讓整張臉展現在公共場合中,一開始還真的有點憋扭,像是第一次赤著上身跑步的感覺一般。直到開始會和雙眼對到的路人微微一笑,才意識還有接受到,正常的生活終於回來了,喔不應該說是新的後疫情生活已經開始了。

不過原本預計的放鬆耍廢之旅,卻由第二天早上的四小時湖中受困記拉開了序幕。也許看似和本文的主題無關,這意外的插曲卻和我四年來的Ph.D.旅程驚人的相似。從一開始坐上船拿著槳興奮地面向壯闊的湖景,接著在一小段不太輕鬆,但還算游刃有餘的航程來到了岸邊在地人提到的老鷹巢。突然風向一變,讓回程的目標看的到卻總是無法靠近。不斷地重新規劃回去的可能路線,卻發現理論總跟不上實際的狀況,一下子飄去了鄰近的另外一座島,眨眼間又被吹回老鷹巢之島,更多的時候則是在原地打轉。眼看太陽越升越高越烈,不禁開始懷疑自己真的回得去嗎?好在身後有個可靠的小夥伴—Brabeeba,在互相打氣還有互補的合作之下,緩緩地朝著目標前進。在風大時,努力試著維持平衡,不要倒退太多。趁著風小之際,全力衝刺,滑幾公尺是幾公尺。當離岸邊越來越近,才逐漸發現水上的距離感和陸上是多麼的不同。總以為再五分鐘就到了,用力衝刺一段之後卻又失望地發現眼前的景色沒什麼變化。而目的地的細節也是到最後幾刻才突然浮現清晰,最後更是在沒有絲毫準備的狀況下,突然一鼓作氣衝上了岸。

意外的湖中受困打攪了原本對湖邊生活的浪漫想像,在木屋中狂吃零食補充能量之虞,更是不斷發誓再也不划船了,並擔心著隔天將要全身痠痛破壞剩餘的假期。不過當隔天清晨在鳥鳴中醒來之後,在湖邊冥想靜思之際,又不小心愛上了大自然的深邃與靈性,身上的肌肉也沒有預期的疲憊,似乎在悄悄問著下一段旅程將在何處?

如今走完Ph.D.前四年的我,就像是個剛剛划完一座小湖上岸的小男孩,顫抖地望向壯闊的世界。心中對自我能力的懷疑多少還是有些,也許甚至多了對於之前的目標短淺的失望。熱情可能不再如此激動,但是變得更加圓潤和堅定。下一趟旅程在哪裡?這將是個不停的問題,而確信的回答是,我將會不斷地繼續往前走下去。

在下一段旅程開始之前,也讓我在這邊記錄一些近幾個月來的一些雜想。

這一年發生了什麼?

持續的疫情讓日子少了變化,時間也不自覺過的飛快。相較於前幾年的各種成長與挑戰,這一年就像是把準備好的食材放進了烤箱等待出爐,並同時思考著下一道菜要做什麼。

在學習上,我還是很不習慣線上課程,總會不小心恍神錯過一些重點,而下課後看著同學們一個個離開zoom的身影,更是懷念起以前在走廊間討論課堂內容的時光。連續助教了兩個學期的課(Spectral graph theory和Complexity theory)還有一個為期一週的暑期課程,隔著螢幕和學生的互動總是讓人覺得少了什麼,沒辦法再從教室的最後面觀察每個學生的學習狀況,助教時間也很難同時顧及每個人。過去當翻轉教室開始盛行時,還以為線上課程將可以慢慢取代實體課程,直到這次疫情造成的大封鎖,才讓人體會到現實世界中人與人之間的互動不是那麼容易被取代的。

不過這些教學經驗可以說是在疫情間對我來說很重要的精神糧食,學生們對知識的好奇與渴望重新喚醒我當初對於理論CS的熱情,看到學生慢慢的成長還有提出各種有趣的問題,更是有股做研究無法產生的成就感與快樂感,堅定了我未來想要走向教育&學術之路的信念。

至於研究方面,去年有許多突破的兩個方向都還持續有些後續的進展,陸續寫了幾篇論文,不自覺時間一下就過去了。當後續的研究仍然如火如荼的展開時,我突然意識到自己對於所產出的研究結果並不再那麼的興奮了,而且花在原本最感興趣的問題上的時間越來越少,更別說是閱讀新的知識還有思考研究背後的大方向。望著所剩不多的博士生涯,我又陷入了一陣迷茫,不確定該如何妥善地分配時間。

觀察身邊其他的博士生還有博後,主要有兩種時間分配的類型:第一種我稱之為貪心演算法(greedy algorithm),遇到什麼做得動的研究問題就傾全力付出,並且把後續的問題做到完為止。第二種我稱之為理想主義者(idealist),只花時間在自己非常感興趣的問題,不太在意表面上的產出與進展。當然,絕大數的人其實是混合了這兩種風格,不過在我的觀察之下,感覺能夠最後生存下來的人通常都是極端地採取兩者之一。這兩種類型沒什麼優劣之分,而且都對科學研究的進展有不一樣的貢獻,學術界也的確需要不同類型的研究者。但是很顯然的我目前處在的是一種很尷尬的中間狀態,我是不是該想想什麼路線是比較適合自己的呢?

除了在研究方向和風格上開始有了許多meta-level的思辨,在這一年中我也思考了許多關於科學研究的本質、不同領域的異同、人的弱點等等的哲學問題,在剩餘的篇幅裡就讓我粗淺的試著把腦中混亂的想法整理一下。

不同科學領域的異同

自從兩年前開始接觸物理和腦神經科學的研究之後,我開始漸漸意識到不同的科學方法、目標、哲學可以差得非常多,有時甚至會稍微互相摩擦衝突。例如在理論CS中,一個研究如果沒有完整扎實的數學證明是不太可能獲得領域的認可,但是同時大家對於研究的結果(e.g., 證明出來的定理)和現實應用的相關性要求就非常低,有時還可以聽到「太考慮應用就不是做理論了」的言論。而在理論物理(以我粗淺的認識)中,對於數學嚴謹度地要求相對沒有那麼絕對,一個常見的做法是對一個簡單的情況有個完整的理論分析,然後再對複雜但是貼近實際的情況做電腦模擬來論證提出的理論。至於腦神經科學,即使是我看過最嚴謹的理論研究結果,通常都還是停留在使用模糊數學(fuzzy math)的階段,著重的是在實驗的設計以及如果解釋實際觀察到的現象。

我很喜歡朋友Lisa用知識樹來視覺化不同領域結構的不同:數學和物理像是聳立的神木 擁有幾個世紀的知識累積,不但有許多分支,分支之間還會互相連結,而且許多枝枒延伸的非常長。電腦科學則有點像是二元樹(binary tree),在近年來有著爆炸式的成長,枝枒分散得非常快,但是相對來說比較少很長的分支。而生物學則很像是一群灌木叢,觸及非常多觀察和問題,但是不同子領域之間相對比較難有統一的理解。

這樣的截然不同,部分是來自於領域發展和演化的過程,部分則是來自領域研究對象本身的性質。對電腦科學來說,研究的對象能夠被數學完美刻畫於是更能夠承載簡潔漂亮的數學理論。而物理和腦神經科學面對的是複雜多變的大自然,也因此在數學化的過程相對更加具有挑戰性,有時候我甚至懷疑,生命科學真的有可能具有如同電腦科學或是物理學般的美妙數學理論嗎?

最近參加了一個生物哲學的讀書會,在拜讀演化生物學大佬Ernst Mayr寫的『這就是生物學 (This is Biology)』,想要建構一下我對生物研究的基礎信仰。目前計畫再過幾週讀完全書後,另外來寫篇文章講講我對科學研究的想像,以及剖析理論及抽象思考在生物研究中的可能性!

開放的心胸以及溝通的重要

身為在學術界還很資淺的研究生,當在一個領域稍微站穩著腳之後,反而容易過度戴著所屬領域的有色眼鏡去看不同的學科。有時候是單純的不了解,例如即使看了兩年多的腦神經領域相關的論文,我至今還是時常無法理解為什麼有些研究結果被視為是重要的。有時候則是思考角度的不同,像是CS的人習慣非常「演算法式」的思考,而物理和數學的人則常常想著對稱與和諧。但是如果硬要將一個領域的思維方式強加到另一個領域之上,不但很難成功,同時也可能會非常的冒犯。正因為如此,我開始慢慢體悟到在科學研究裡,保有開放心胸的重要性。這不是說一個人必需去理解其他領域的方法論,而是說我們該放下領域間優劣的比較心態,接受學術界的多樣性!

甚至先不論跨領域研究,即使是在原本的小領域裡,能夠理解包容不一樣的研究方式和結果也是非常重要的。在過去這一年中,我自己就因為研究習慣的不同,不小心冒犯到合作的對象:我習慣先抓到大方向的證明思路,接著再把每一個步驟的細節搞清楚,然而有些人習慣扎扎實實的一行一行弄懂證明。這兩種不同的研究風格在理論CS都很常見,而且可以說是很好的互補搭擋。不過之前我太過於預設所有人都是屬於第一種類型的研究風格,使得屬於第二種風格的合作者很難理解我在說什麼,造成溝通還有合作上的障礙。直到有一次找個機會好好聊了一下,互相理解對方想事情的方式,找到合適的溝通模式,才化解長久癥結的問題。

從這些大至領域間的語言隔閡和小至個人的風格差異,讓我體悟到科學(或是說學術研究)一個非常可貴但是常常被忽略的特性就是「溝通」。在理想的情況(實際情況是不是這樣就難說了…)之下,科學和傳統教條很不同的地方就在於沒有權威,注重實證和開放的辯論。當然這是最理想的情況,現實中的學術圈可能沒有如此的美好,尤其是當成為科學家變成一件相對普及和容易的事情之後,人與人之間的競爭惡鬥污染了這個理想的烏托邦。不過和許多失敗的烏托邦不同的是,在學術界中,試著加強自己的溝通還有包容能力,基本上不會是件壞事(也就是比較不會有囚犯困境的現象)。

不過當我跟身邊一些做研究的朋友提到溝通在科學中的角色時,有些人會質疑,如果太想要讓別人理解和欣賞自己的研究,反而可能失去自己創作的核心價值。比較激進一點的人甚至會覺得沒有把研究寫成論文的必要,好的研究結果應該是不證自明的,花那麼多時間把論文寫好是在浪費其它做研究時間。首先,我覺得保有自己思想的獨立性和增加作品的客觀理解性並不相互衝突,很多時候再寫論文或是解釋理論給別人聽的時候,甚至還可以讓自己的理解更加深刻。再者,我覺得科學與藝術最大的不同就是,科學在本質上追求的是客觀,而藝術則是包容主觀的多元自我表達。要達到理想中的客觀性,溝通就成為非常重要的一步,在現代科學界中寫論文則是其呈現的方式(不過當然有可能在五十年後會有個比寫作更好的方式出現!?)。

深入的理解(Deep understanding) vs. 清晰的理解(Clear understanding)

不知道從什麼時候開始,我對於深入的理解(deep understanding)有了種莫名的追求。也就是說不管看到了什麼問題,我都會下意識的先評價這個問題夠不夠深入(deep),並且對於我認為不夠深入的問題嗤之以鼻。這樣的追求不知不覺過度的影響了我的生活,我甚至會開始對於別人的研究或是其他領域的問題品頭論足,而且越來越眼高手低。直到我講話的內容越來越抽象,連幾個平時很了解我的朋友和合作者都開始不太理解我在說什麼時,我才意識到自己有點走火入魔了。

什麼是「深入(deep)」?存在一個客觀的尺度來衡量深入與否嗎?深入的理解是衡量一個科學研究優劣的標準嗎?不同領域間要怎麼評價彼此的深入與否?當回頭思索這些基本的問題之後,我才體悟到「深入」就像是「有趣(intersting)」是一個太過主觀,甚至在使用不恰當時可以帶有攻擊性的詞彙。也許我的初衷是關於科學家對研究課題追根究底的精神,但是將之化為具體的評價後,不但讓我變得有點好高騖遠,還變得有點憤世嫉俗。

但這並不是說追求深入的理解錯了,而是更該小心拿捏尺寸。同時,我發現一個作為深入理解很好的替代原則:追求「清晰的理解(clear understanding)」。仔細回想看看以前求學時做題目不斷做錯,或是做研究想問題卡關,甚至是平時處理日常瑣事陷入無解的迴圈,這些情況有什麼共同的地方?我覺得基本上都是源自於沒有理解清楚事情背後的原理或過程。在日常生活中也許不太需要把所有事情都弄清楚,就可以活得好好的。然而這樣子的偷懶累積多了之後,有時候就很可能形成問題。當面對這些類似的難題(例如報稅…)時,往往可以在退一步釐清問題脈絡後迎刃而解。同樣的原則也很適用於科學研究的前線:回首檢視那些當年重大的科學突破,除了有一部份源自於靈光一閃之外,其他往往是科學家不滿意於當下的理解,在把問題越想越清楚的過程中找到了解決的辦法。換句話說,清晰的理解是種追求知識上誠實(intellectual honesty)的態度。也許當理解清晰到一定程度之後,自然就會成為深入了理解了吧!?

人的弱點與自我、感性與理性

自從發覺自己在抽象思考方面走火入魔之後,我和好友Juspreet有了非常多關於「人」的討論。由科學帶來的「人定勝天」信念還有現代社會越趨機械式的生活模式,不知不覺讓人們越來越像一台台理性的機器,忽略了我們終究是人類,活在這個現實世界中。培根(Francis Bacon)曾經說過

Nature, to be commanded, must be obeyed.

如欲掌控自然,必先服從之。

Francis Bacon, Novum Organum

同樣的,身而為人,我們該謙卑地知道且面對自己的弱點,或是說自己的本質。

Juspreet對我提出了兩個觀察:第一個是他發現我非常在意別人的感受(但這不代表我很會察言觀色…),同時也很容易受到別人行為的影響。如果在一個大家都很坦白直率的環境下(例如我和Juspreet之間的相處模式或是在比較prefessional的合作上),這樣的性格不會造成太大的干擾,因為大家有話直說,有問題和糾葛馬上說清楚解決。然而在很多時候,過於坦白直率是不見得受歡迎的,甚至有些人會為了表面上的和諧先默默容忍,讓潛在的問題成了未爆彈。如果不在意他人的感受,這些未爆彈也許不太會造成什麼傷害,然而如果同時重視對方的感覺但是又習慣直來直往的,那麼就很容易陷入進退不得的僵局。在這過去這一年中,無論是生活上或是研究的合作中,我都因為這樣的個性受了不少折磨。

好巧不巧年初我重新翻了一本多年前買的書:『好人總是自以為是:政治與宗教如何將我們四分五裂(The Righteous Mind: why good people are divided by politics and religion)』,意外地提供了我許多角度來思考這樣子的個性。作者Jonathan Haidt是個道德心理學家,在這本書(以及先前的幾本著作)提出了一個令人耳目一新的架構來描述理性與感性(在書中對應到”直覺”和”情緒”)的共舞:有別於主流科學界中對於理性主宰的看法,作者傾向哲學家休謨(David Hume)的想法:理性是情緒的僕人。運用了大量的心理學實驗,甚至一些社會學和演化論的觀點,作者精彩的解釋了在各種不同情況下,我們的情緒是如何先受到了刺激,因而掩蓋了理性思辯,最終進一步的在政治或是宗教的議題上產生衝突。

同樣的概念也可以用來解釋許多生活上的不愉快,以及研究合作中的摩擦。在討論中如果嚴苛地否決了別人提出的證明想法,是不是會不小心讓對方不好受?在寫論文時直接把其他合作者寫的內容刪掉重寫,會不會讓人覺得被冒犯?在解釋證明的時候沒有耐心、不嘗試理解對方有沒有足夠的背景知識,會不會讓人感到被污辱?更重要的是,當上述的情況發生時,再怎麼解釋自己的動機是無意傷害他人的,都已經於事無補,畢竟被傷害是主觀的。

而這就和Juspreet提到的第二個點很相關了:自我(ego)。雖然我很在意別人的感受,有時候也知道為什麼別人會有某些行為和反應,但是我通常會很難接受別人不用我覺得比較好的方式做事情。換句話說,我理性上可以理解他人行爲背後的來龍去脈,但是感性上我會無法認可,這完就就是同理心(sympathy)和同情心(empathy)的差別。

所以除了透過閱讀還有溝通理解別人的感受之外,我更需要加強的是放下心中很強烈的自我,發自內心地接受多樣性,這剛好就是這陣子來我從生物學還有大自然學到寶貴一課!

結語

不知道是不是受了疫情還是前陣子讀的一本小說的影響,在這一年中我開始用許多不同的角度重新面對研究以及生活。時間沈默但穩定地流逝,世界喧鬧且不受控地改變,身在其中的我們一邊需要堅強地站穩腳步甚至維持向前的速度,另一方面則不可忽視內心積累的困惑與吶喊。在滿足生存基本需求、填補漫漫光陰與展現自我之間的循環,有時我們陷入太快太深的漩渦而暈了頭。想清楚自己的長處和弱點是什麼、自己適合的style是什麼、對自己來說最重要的東西是什麼,也許值得在努力不停向前划行時,停下來好好思索、重新定錨。

This is Biology

今年波士頓的九月(注:這篇文章起筆於十月初…),沒有延續暑假的熾熱,反倒充滿了秋意。每當傍晚騎車越過查爾斯河的小橋時,迎面而來的冷風,讓人彷彿置身在冰水中游泳般,十分暢快。原本預期楓葉會因此提早來訪,然而十月第一個週末的理論組賞楓健行,意外的沒有被想像中繽紛的色彩包圍,果真理論和現實還是有差距呀!

才剛踏上Mt. Monadnock的白點步道,就和一個新來的博士後熱絡的聊起了CS和Neuroscience的跨領域研究。先是互相約略分享了一下各自正在探索的問題,接著談起生物研究和CS以及物理研究的不同。什麼樣子的生物研究是“接近現實的”?如何評判一個數學理論模型是“合乎生物性(biologically plausible)”的?在我們倆口沫橫飛的激辯過程中,一瞬間,我突然從他的眼中看到了一個是如此明顯,但是我至今才終於意識到一個生物學家和電腦科學家(以及數學家和物理學家)之間的鴻溝:原來雙方在談論biological plausibility時,心中想的是完全不一樣的東西!

身為受到CS訓練出生的一份子,當我們提到biological plausibility時,心中基本上想的不乏是列下好多個“限制條件”,例如神經元之間的連結通常很局部、神經元的活動通常很稀疏等等。接者再用數學語言刻畫這些限制條件,並且開始一連串的抽象理論推導或電腦模擬分析。然而對生物學家來說,biological plausibility其實並不見得是這麼具體的條列檢查項目,而比較像是通過大量的閱讀和討論後,建構出一個自己以及領域內的世界觀。生物實驗實在充滿太多雜訊以及特例,基本上不可能列出嚴謹的數學條件逐一客觀的檢查,也因此會產生一些很有趣的現象:生物學家有時候反而會沒有電腦科學家想像的如此biologically plausible!

跨領域的研究充滿了挑戰,除了要學習大量其他領域的知識,我覺得最困難的是如何理解和欣賞其他領域的美。在今年暑假前偶然在Facebook上看到朋友推薦了演化生物學大佬Ernst Mayr在二十多年前寫的This is Biology,讓我終於有機會系統性地一窺生物學家心中的生物學到底是什麼樣貌。

一趟建構生物哲學的雲霄飛車之旅

原本只是打算拉著做演化生物學研究的室友一起讀This is Biology,想和他討論以及聽聽他專業的見解,結果他很熱心的組織了一個讀書會,邀請了幾個來自不同領域的朋友,開始了這段建構我的生物哲學的雲霄飛車之旅。

之所以稱之為雲霄飛車,是因為我的心境變化在這三個月中不斷受到挑戰與改變,如今列車緩緩進站,帶著重新建構的價值與信念,下了車準備展開下一段旅程。未來在跨領域研究的路上,一定還會在受到許多刺激和成長,趁現在記憶猶新之際,讓我簡單記錄一下This is Biology帶給我的啟蒙與轉變。

生物學中的美與挑戰

之前和一個做物理的朋友聊天時,常聽他開玩笑說生物學就像是集郵一樣,它的美是在大自然中的多樣性及複雜,而生物學家的工作就是搜集紀錄各種新的發現。相比之下,物理和數學似乎更加“深入”地探索了自然及抽象世界中隱藏的對稱與結構之美。言下之意,往往就會有種優劣之分的階級感浮現。確實物理學家中普遍有種自信,認為自己對於世界有更深刻的理解,而生物學相對起來年輕許多,在許多子領域中還留在做實驗搜集資料的階段。但這樣的現況並不代表哪一門學科比較難或是比較簡單,當走到一個領域的前端時,只要保有著對於對知識的好奇、對學問的嚴謹、對品質的堅持,每往前一步都有其無法比較和取代的意義。

從小我在一個很少接觸大自然的環境中長大,在城市的車水馬龍和數理抽象世界的烏托邦之間,我一直以來無法理解和欣賞生物學的美。還記得剛認識室友的時候,一聽到他要花一兩年的時間幫蝴蝶標本拍照,寫程式分析翅膀的顏色和形狀,我實在很難接受這樣也算是“做研究”。為什麼要花這麼多時間在千萬種生物的其中一種上?為什麼每個種類的蝴蝶搜集六隻標本就足夠做統計分析?為什麼可以在如此不明顯的關聯性分析得出任何推論?

的確,如果從物理和數學本位的角度來檢視,生物研究可能登不上“大雅之堂”。但是為何生物學需要跟物理和數學相提並論呢?將這幾門不同的學科直接比較就像是把音樂和繪畫做比較一樣,個人的主觀喜好會影響理性客觀的思辨。追根究底,由於“審美觀”的不同,造成了不同學科之間的誤解甚至歧視。所以就讓我先從我對生物之美的重新認識作為一個開端,放下成見,試著描繪生物世界的審美觀究竟為何。

從集郵到拼圖:多樣性之美、個體之美、實驗之美

生物學之所以被開玩笑地貼上集郵的標籤,不外乎就是因為生物多樣性。世界上已知的次原子粒子有幾百種,而地球上光是蝴蝶就有將近兩萬種。如果更仔細去想何謂不同的生物種類,就會發現連光是如何好好的定義“物種”都已經是一個非常不簡單的工作了。既然生物多樣性是如此的瑣碎繁雜,那麼它到底美在什麼地方呢?從表面上看起來,的確就像是集郵一樣辨別和搜集不同的物種,這就是多樣性之美嗎?對我來說,這種”集郵之美“只是生物多樣性中的第一步而已,而生物學家在做的則是要在千千萬萬的物種之間,規約找出背後的規律及異同。

因此我覺得生物的美更多是在於集郵之後的”拼圖“階段。如何在雜亂的實驗數據(i.e., 拼圖碎片)中把有關聯的聚集在一起、如何不受到表面相似性的影響(e.g., 下圖中的貓咪拼圖,同樣是橘色的圖塊,可能是來自於不同的貓咪!)、甚至是如何在缺乏整體圖像(e.g., 想像玩拼圖的時候不讓你看到最後的圖像是什麼)的情況之下,試圖拼湊出些什麼有意義的結果。

至於物理和數學,則比較像是棋盤遊戲和策略遊戲,在少數的規則和龐大的可能性中,堆疊開闢出一條蹊徑。

於是,要建立對生物學的審美觀,需要先暫時放下對從邏輯底層往上前進的堅持,著眼在如何由上而下的把龐大雜亂的資訊梳理乾淨(當然在數理學科也有許多由上而下的美與挑戰,這邊我只是用一個最宏觀的角度來區分生物研究和其不同之處),如果無法欣賞這部分的有趣和美感,那麼可能將會有點困難去進一步體會近代生物研究發展的美。同時在這邊我也想強調,這篇文章的目的不是要說服所有讀者都要能夠欣賞生物之美,而是著重於剖析生物和物理(及數學)本質的差別,然後提出我觀察到不同領域誤解和歧視的癥結點。

當開始可以欣賞生物學中由上而下的“拼圖之美”之後,接下來就會有更多可愛之處可以探索,在這裡我要跟大家分享三個我近期的體悟與感動,分別是多樣性之美、個體之美、實驗之美。

多樣性之美: 以前我一直不太能理解每次我室友看到沒見過的螞蟻品種時,為什麼會那麼的興奮(其實現在我也沒有全然理解...)。現在回想起來,最主要是因為過去的我對於美感的追求是更為抽象、型式與對稱,而生物多樣性之美則幾乎是硬幣的另一個反面,欣賞的是具體、實作與特例。兩種美感雖然很不一樣,但是並不互相衝突。因為成長以及學習環境的不同,每個人的確也會對於這兩種美有不同的傾向。當然,一個人不需要強迫自己去欣賞另外一種美,不過當審美的視野被打開了,除了生活增添更多色彩之外,多樣性之美更是時常帶來許多的靈感。

個體之美: 每個人在這個世界上都是一個獨一無二的存在,不像是宇宙中的每個氫原子基本上看起來和觀測起來都是一樣的。雖然在前幾段我才說生物學家的工作就是在多樣性中尋找出規律,但也正因為生物世界中的個體總是存在著差異,在發現規律的同時,更是讓我們能夠從個體和規律的偏差之間重新給予其新的理解與認識。生物學中理論的建構,在追尋背後支配現實的規則之餘,可以說是給我們一個新的觀點和角度去理解個體之美。

實驗之美: 當物理是要透過精準的實驗驗證理論模型時,我會覺得生物實驗更像是從稀少的資源中試圖以管窺豹。當前面說到我室友的蝴蝶研究中每個物種只用了六隻個體,這並不是說他們不想要用一百隻,而是現實上不允許他們這樣做。於是實驗上的限制(e.g., 蝴蝶的個數、數據中的雜訊)就好比是數學推理中的邏輯規則,生物學家如何在各種限制中設計出有意思的實驗方法,不亞於數學家在邏輯公設中殺出一條血路。差別主要在於這些限制的數量和具體程度,以及邏輯推演的長短。

這邊提供neuroscience中兩個關於decision making的經典實驗,讓讀者體會實驗設計背後的巧思與美感。

首先提供一些背景資訊,在decision making相關的研究中,neuroscientists的(短期)目標是要找到具體的神經網路配置,清楚地對應到一個決策機制。因此最大的挑戰就是該如何盡可能地排除其他可能性,讓實驗結果(只)能被他們提出的理論解釋。於是在一個實驗中,除了各種錄製神經訊號的儀器之外,還需要設計動物行為以及解讀不同的行為結果。

第一個實驗是關於觸覺的decision making。一隻猴子的手指會先被一個20赫茲的震動刺激了500毫秒,再過了一陣了之後,會被另外一個頻率的震動刺激500毫秒。接著猴子必須按鈕決定第二次震動的頻率是比前一次高還是低。

第二個實驗是關於視覺的decision making。一隻猴子首先要盯著屏幕上的十字,同時看到旁邊有些小點點全部往左或全部往右移動。最後當十字和小點點同時消失時,猴子必須向右或向左看來表示他覺得小點點大部分是往右還是往左。在比較困難一點的版本,有一部份的小點點會隨機移動。

上述這兩個都是非常經典的decision making實驗,但其中一個有沒有設計得比另一個更為巧妙呢?如果仔細想想,就會發現第一個實驗有個很大的問題:兩個震動刺激之間隔了一些時間,因此猴子的大腦需要先“記住”第一個震動,接著再和第二個震動做比較。如此一來增加了可能性的複雜度,實際上當年的實驗結果也的確無法很好地解釋猴子是如何做決定的。至於第二個實驗,首先透過同時呈現所有資訊來避開了記憶的問題。此外,用不同比例的隨機小點點可以更量化地理解神經網路的機制。先用十字來提醒猴子實驗要開始了更是一個”重新開機“的手法,確保每次實驗的開端都差不多。

不同的挑戰:對稱性的缺乏、湧現性質、客觀意義

如果要再更進一步的建立對生物學的審美觀,就必須正視和理解其面對的挑戰。在這邊我想要著重在三個我個人覺得生物學面臨地最大挑戰:對稱性的缺乏、湧現性質、客觀意義的存在與否。

對稱性的缺乏: 近代物理的偉大成就,可以說是建立在對於物理世界中的對稱與不對稱的精闢觀察。對稱性引領出了豐富的數學,使得純粹抽象的分析有了可能(推薦閱讀:"The Unreasonable Effectiveness of Mathematics in Physics")。然而在生物的叢林中,極度缺乏豐富多樣的對稱性,這也是我認為建立好的生物理論最困難的根源。於是雖然看似生物領域中有非常多的數學或計算模型,這些模型更像是一種“描述”而不是像基礎物理模型“刻畫”了真實(不過以我對數學模型是“描述”還是“刻畫”的定義,應用物理許多的研究也是屬於前者)。

湧現性質: 生物中所謂的*湧現性質(emergence property)*其實跟物理中的 *混沌現象(chaotic phenomenon)*基本上是同一個概念:簡單的規則在大量的使用後產生複雜的結果。我個人更喜歡用理論CS的一個概念來思考湧現性質:單一方向性(one-wayness),也就是說正向運算很容易,但是想要逆推回起點是困難的。一個胚胎如何發展成成熟的個體?基因是如何對應到表型(phenotype)?神經元的活動是怎麼形成計算、智能、意識?我認為湧現性質使得機械性的模型與理解變得極為困難,要嘛我們只能得到很粗淺的宏觀統計,要嘛就是模型本身變得極為複雜無法被理解(e.g., 用深度機器學習去建立模型)。同時,物理時常用到的簡約(reduction)方法也因為湧現性質而變得不太可行。我們也許需要一套有別於現有物理與數學的方式來理解湧現性質?

客觀意義: 人類總是傾向賦予事物一些意義。還記得上次去羚羊谷(Antelope Canyon))旅行時,除了被大自然的鬼斧神工震撼之外,更是見識了當地導遊的創意。在短短一英哩的路程中,每走幾步導遊就會突然指著岩壁喊著:「看,這是海底總動員裡面的那隻鯊魚!」(如下圖)之類的話。我相信沒有人會覺得大自然是故意侵蝕出一隻鯊魚在羚羊谷裡面,同時這也警惕著我們在面對自然的時候更應該注意放下過多的人為解釋。這不禁讓我想到書裡討論到在過去和近代對於近因與遠因(Proximate and Ultimate cause)不同的觀點,對於一個科學結果的解讀是要非常小心的,尤其是各種因果關係之間的詮釋。在像生物這種尚未公理化的學科中,人們不可避免的必須脫離歸納法(induction)和演繹法(deduction)而使用溯因推理(abductive reasoning)。換句話說,一切的知識是建立的觀察而非邏輯公設,因此不存在所謂的真理,只有最好的解釋。然而“最好的解釋”本身是非常主觀的,話語權尤其會掌握在領域專家手中。話說回到近因與遠因,無論定義為何,根本上兩者都參雜了人的主觀意識。生物中的因果關係以及究極意義,是不是無法達到客觀上的共識?

生物學中的知識、理解、理論是什麼?

前面提到的這些例子和觀點,最終其實只是為了醞釀出Mayr在書中非常前面就想要傳達的概念,那就是生物學需要一套和物理(甚至所謂的傳統科學)不一樣的方法和哲學。還記得在讀書會的前幾週,我總是持著相反的意見,認為Mayr會這樣覺得是因為他懂的物理不夠多。如今,我還是不知道Mayr到底懂不懂物理,不過很肯定的是,我之前對生物的認識實在太淺薄了。

於是在這邊我想要紀錄一下我心境上的轉換,希望能夠帶給非生物背景的人作為一些借鏡,同時也讓生物學家(例如我室友)可以更知道一般受物理和數學訓練的學生通常會有什麼樣子的偏見。

科學哲學:生物學家和物理學家之間的誤解

我在大學的時候學過一些基礎的科學哲學,不外乎就是邏輯實證主義(logical positivism)、Kuhn的典範轉移(paradigm shift)以及Popper的否定論(falsification)。年幼無知的我很理所當然的把這些視為科學的公設,直到現在比較有思辨能力後,在受到This is Biology的啟發才重新發現科學哲學的廣闊與無邊。

Mayr在書中討論科學哲學的段落一開頭就說,這些不同流派的思想基本上都還是以物理學(甚至是理論物理學)為中心,並不見得那麼適用在生物學。而我覺得這之間的區隔,可以用一句演化生物學家Stephen Jay Gould一篇有名文章的標題看出來:『演化是事實和理論(Evolution as fact and theory)』。注意到這邊Gould沒有說演化是真實(reality)或真理(truth),而以我對理論物理的粗淺認識,他們追尋的就恰恰是這兩者,這可以從一本我很喜歡由去年諾貝爾物理學獎得主Roger Penrose寫的書的書名『通往真實的道路(The Road to Reality)』看出來。

[...] facts and theories are different things, not rungs in a hierarchy of increasing certainty. Facts are the world's data. Theories are structures of ideas that explain and interpret facts. Facts do not go away when scientists debate rival theories to explain them. Einstein's theory of gravitation replaced Newton's, but apples did not suspend themselves in mid-air, pending the outcome. [...] Moreover, "fact" does not mean "absolute certainty." The final proofs of logic and mathematics flow deductively from stated premises and achieve certainty only because they are not about the empirical world. [...] In science, "fact" can only mean "confirmed to such a degree that it would be perverse to withhold provisional assent." I suppose that apples might start to rise tomorrow, but the possibility does not merit equal time in physics classrooms.

[...] 事實和理論是不一樣的東西,是無法比較誰比誰更為肯定。事實是這個世界的資料,理論則是解讀事實的一些想法和概念。當科學家在爭論對立的理論哪個比較能解釋某個事實時,事實是並不會跑走或改變。當愛因斯坦的重力論取代了牛頓時,蘋果並沒有因此停在半空中等待結果。 [...] "事實"的意思並不是"絕對的肯定",當一個數學邏輯的證明從起始的假設,演繹地流動到最終的結論時,這樣無瑕的成就完全是因為它不是關於現實的世界。 [...] 在科學中,"事實"只能是代表"被確認到了連反對都看起來像是故意找碴那樣的程度"。蘋果的確有可能在明天就變成往上升起,不過這樣的可能性並不值得讓我們花時間在物理課堂中花時間討論。

Evolution as fact and theory by Stephen Jay Gould.

如果要用更近代一點的科學哲學觀念來剖析其在物理學和生物學的異同,我會說前者更傾向於科學實在論(scientific realism)而後者則是工具主義(instrumentalism)。簡單來說,科學實在論的中心思想是相信”理想理論(ideal theory)”的存在,並且主張科學研究的目標就是要往理想的理論前進。而工具主義則是持相反的意見,認為科學理論是個幫助我們理解和認識世界的工具,應著重於解釋和預測觀測到的現象。

在這邊我極度的省略了對於各種科學哲學流派嚴謹的討論,主要目的只是希望給讀者帶來一個種子,在未來可以自行繼續探索(Stanford的哲學百科全書是個不錯的起點)。同時一個很重要的觀念,科學哲學終究是個幫助我們理清楚科學研究的本質與目標,這既不是終點也沒有確切的答案,每個人都可以有不同的喜好,甚至同一個人對於不同的學科和子領域也可以有不一樣的信念。能夠多理解不一樣的觀點,除了充實自己的思想架構之外,更是能夠在未來與不同領域的人接觸時,更體會對方的思考方式。

數學在生物學中的角色與可能?

身為一個理論電腦科學家以及業餘的數學和理論物理愛好者,還是對數學以及形式上的美有很大的追求(和需求)。然而諸如前面討論到的,種種生物學面對的困難不禁讓人懷疑,數學真的也可以在生物學中達到如在物理學中那樣的成就嗎?最近看了一篇arxiv上的文章”A mathematician’s view of the unreasonable ineffectiveness of mathematics in biology”,作者透過對於著名跨領域到生物的數學家Israel Gelfand的觀察,提出了許多精闢的觀察和故事,蠻值得一個輕鬆的閱讀。

我個人最主要的看法是,現有的數學是很受到物理的影響,許多分枝都是對應到一些相關的物理子領域。相對來講,幾乎沒有什麼新的數學是受到生物啟發誕生的。這並不是說生物缺乏數學的可能性,而是現有的數學也許還不夠,需要有人替生物學創造出新的數學。

而什麼樣子的數學可能適合生物呢?現在生物物理學家或是生物數學家通常使用的是動力系統(dynamical systems)、微分方程(differential equations)或一些控制理論(control theory)、博弈論(game theory),我認為其中非常缺乏了“演算法(algorithm)”的元素。在這邊我指的是更廣義的演算法,像是到了軟體工程的層次,有不同的子程式組成一個巨大的程式。這樣子用演算法/軟體工程的角度來理解生物系統,不但更接近邏輯運算而因此方便人類理解思考,同時也比前述的傳統數學方法更能夠處理特例、複雜的運算。現今的計算生物學(computational biology)可以說就是使用這樣的方法,只不過目前大多還是停留在寫程式跑模擬的階段,還尚未有很乾淨漂亮的數學語言可以做更抽象的分析。

也許一個可能的未來方向是試著如同Turing給了計算(computation)一個完善的數學根基一樣,在一些生物的子領域提出新的數學語言?最近理論電腦科學界的兩位Blum大佬提出了Conscious Turing Machine的概念,似乎就是個將演算法思維應用在接近生物領域的一個好例子?在接下的寒假,我預計要開一個mini-course關於計算在數學、物理和生物之間概念上的異同,希望屆時可以好好思考探索這個方向!

跨領域的現實、包容與理解、下一步

除了This is Biology的讀書會之外,在過去的一年半之間,我和Brabeeba也經營了一個跨領域的讀書會(When neuroscience meets CS, math, and physics),讓我徹底地體會到了跨領域交流的困難是雙向的:除了自己本身需要學習更多、更站在對方角度思考之外,也必須要建立在於對方感興趣展開一段對話。這也讓我覺得,如果長期要做跨領域研究的方向,那麼勢必要先在不同的領域都紮下根基,理解各自的審美觀,累積一定的專業能力,甚至獲得一定程度領域內的認可。換句話說,就是需要在各個領域都達到基本研究生以上的能力吧!

意會到這樣的現實,初期的確令我有點小小沮喪,不過同時也感到非常興奮,非常期待五年十年後自己在各個感興趣的領域種下的種子漸漸冒出枝枒、開花。在這條有趣但充滿挑戰的孤獨之路上,也期許自己勿忘要包容與理解不同學科的多樣性和差異,有耐心和毅力地一步一步走下去。

(感謝Brabeeba Wang和Wei-Ping Chan對於文章的許多好建議!)

科普對我來說是什麼?

這一個月來幾乎八成的時間都是在準備這個為期兩週的mini-course,未料在最後幾天,一個小插曲讓我重新認真思考了一下科普的本質倒底為何?我們真的需要科普嗎?科普會不會反而讓科學的進展開倒車?

先讓我們試圖釐清科普的定義吧!仔細想想的話,科普可是有非常多不同的形式和層級呢!

新聞媒體“達爾文進化論被推翻了!”,這大概是一般人生活中最常接觸到的科普吧?各種新聞媒體到網路影片工作者,每天都有無數的人試著把最前沿的科學研究用淺顯易懂的方式傳達給大眾。當然這種形式的科普品質十分參差不齊,在市場競爭的叢林中,有些人靠聳動標題維生,有些人則是堅持專業獲得死忠粉絲。

科普書籍:如果更有一些時間和心力,一般人接下來會接觸到的大概就是科普書籍了。同樣的,書店中科學區的書架上,琳琅滿目,各種名人以及得獎科學家的加持,範圍更是從物理、化學、數學到生物、心理學等等。跟新聞媒體最大不同的地方是,科普書籍通常具有較完整的系統,有些甚至一出手就是四、五本一套。然而畢竟不是教科書,面向的是普羅大眾,科普書籍通常還是使用非常淺顯的敘述,不會假設太多的教育背景,很多時候甚至會省略掉一些有點重要的概念。

線上課程:有時候還真的挺羨慕現在的小朋友,在網路上很輕易的就可以免費看各種大學教授開設的線上課程。儘管許多時候這些線上課程被簡化了許多,但是透過作業以及網路論壇互動,甚至是簡單的實驗,是可以獲得科普書籍無法做到的學習效果。

大學通識課程:這也許是科普中最高的層次了吧?在大學通識課程中,教授們不但有整個學期的時間,同時學生們受過基本教育的訓練,即使可能來自稍微不同的背景,但是相對於一般民眾,可以假設這些大學生具有流暢的邏輯思辨和溝通能力。例如我在上學期助教了一門「Science and Cooking」的通識課(這門課同時也有線上版本,但是簡化了非常多),老師們在短短三個月中,讓來自不同學院的學生們淺嚐了諸如elastic modulus、diffusion equation等等在(初階的)專業課程中才會學到的基本概念。

至於我的mini-course在哪個層級呢?我自認為大概是介於線上課程和大學通識課程之間,因為課程內容在廣度的要求之下相對犧牲了深度,但是同時我也期許自己能夠盡可能的放入很多精髓讓學生在未來可以繼續探索。而下一步我也打算著手寫一本相關的科普書籍,希望用不同的形式呈現我對這些跨領域知識的理解和看法。

科普的目的是什麼?

我想每個人可能都對科普的目的有略微不同的看法,有些人覺得是為了讓艱澀的科學知識更容易讓大眾接觸,有些人覺得這是個很好增加知名度的方式,有些人可能是很享受教學和寫作的過程。

不過以我的例子來講,其實說來慚愧有點自私,最初的原因主要有兩個:首先是這樣可以讓我身邊的家人和朋友更知道我在做什麼,像是我在大學畢業前寫了一本「探索計算的極限」,講解了基本的計算理論概念,最後分送給朋友和家人。雖然最後我爸媽好像還是沒有看完,不過至少例如我的設計師好友小羊,在完全沒有相關背景的情況下,花了半年的時間讀完後,現在大約知道二進位制和圖靈機是什麼了!第二個原因則是透過科普的寫作,其實對我自己來說是一個沉澱和昇華的過程。在之中我會不斷地挑戰自己最底層的理解,接著試圖猜測潛在讀者可能會困惑的地方,在一來一回中琢磨出連我一開始可能都意想不到的敘事和理解方式。

但是這樣的動機的確可能還是稍嫌薄弱,看看我在這個mini-course所花費的心力,似乎不成比例。的確,另外一個科普(還有教育in general)帶來很大的附帶品就是和聽眾/讀者/學生的互動。這種互動和前述有些人追求的知名度是不一樣的,更像是一種找到知音的快樂。話說回來,終究還是自私的讓自己開心。

難道對我來說科普的目的就只有這樣嗎?如果站在客觀一點的角度來看,我是有些話想說。

首先我認為在現在的教育體制下,知識還是非常分配不均的。我一直到進了台大之後,才發現高中以前我竟然錯過了這麼多,如果當你連碰到好的書和教材的機會都沒有,那麼再怎麼聰明的人也是無法從無到有變出人類累積千百年的智慧。而到了Harvard之後,我更驚覺big picture的重要。當先建立了好的基礎觀念以及了解一個領域的大方向結構和價值觀,學東西的效率完全是提升好幾個層級。然而無論是好的教材或是big picture,即使在現在網路發達的世代,仍然還是沒有那麼容易讓一般人接觸到。

Everything should be made as simple as possible, but not simpler.

所有事物都應該被盡可能的簡化,但是不能簡化過頭。

- Albert Einstein.

此外,我覺得科普在現代社會還有另一個特殊的角色,那就是增進領域之間的交流和學習,這也是我這門mini-course的核心價值。在當今各個領域都蓬勃發展,且變得越來越複雜艱澀之後,跨領域學習面對的牆變得越來越高越來越厚。同時跨領域互動的目的也和本科學習的目的有些不同,更多的是在交流彼此的核心概念,藉此激發出在各自領域的新想法。

科普的危險

接下來讓我們進入本文的核心討論:科普是不是危險的?

以我的觀察來看,認為科普產生弊大於利的論證,主要著重在於(1)科普會讓一般人有種覺得懂了很多的錯覺(2)科普讓人變得懶惰而不扎實的學習(3)科普過度簡化甚至可能造成科學進展的倒退。

首先我非常認同前兩點,一些“不好”的科普的確很容易衍生這樣的社會問題。但是我也想指出這種論證的一個盲點:會因為讀了科普而產生懂很多的錯覺或是對學習懶惰的人,他們並不會因為沒有了科普就變成一個上進的人!相反的是,如果有個好的科普,能夠讓人在學習的過程中反而更發現自己的無知,這樣反而達到正面效果,人們會因此更知道自己缺乏什麼而繼續學習。而這也完全是我在我的mini-course想要跟學生們傳達的!在這邊也跟大家分享一個我不斷跟學生強調的一個quote:

Our knowledge can only be finite, while our ignorance must necessarily be infinite.

我們的知識只能是有限,同時我們的無知必定是無限。

- Karl Popper.

所以對我來說,(1)和(2)更像是對科普推廣者的提醒,而非真正的危險。

至於(3),這個就非常的subtle了,身為非常資淺的學術工作者,我在這邊只敢提供一些小小的評論,同時希望可以激起更多對於類似議題的討論!

首先,科學是不斷地進步的嗎!?沒辦法讓科學”進步”的就不配被稱為好的知識或研究嗎?如果是一直身在學院的象牙塔中,一路吸收所謂“正確”的科學知識,那麼的確看似只要跟最後留下來的理論不相符的都可以被稱為沒用。然而這絕對不是科學發展真實的面貌,綜觀科學史,現在最終留下的理論,很多是奠基在如今被視為不那麼正確,或甚至在當初有些誤導人的理論。而在科學發展的前沿,我們也知道許多如今被視為傑出的理論,在一開始通常也都是在許多略有錯誤的理解和猜想中,慢慢修正孕育出來的。

最後,我個人認為,把科學的論述單一化是非常危險的,這樣反而更容易阻礙科學的進展!讓我們從演化的角度來看看,如果沒有什麼變異,那麼雖然現在這個理論把世界解釋的很好,但同時也意味著改變或”往前”的動力是比較小的。反觀在變異大的情況下,縱使會先產生許多被淘汰掉的變種,甚至走倒車,但是需要透過這些變異,才可能讓我們更有機會產生下一個“典範轉移”!

自我省思與期許

寫到這邊,我希望我至少能夠暫時說服讀者如果有“好的科普”,那麼對於社會、科學發展、跨領域交流,都是利大於弊的。不過最終就必須正視我所謂“好的科普”是什麼?會不會這樣的理想在現實中是不可行的?該如何分辨科普的優劣?

我覺得,一個“好科普”的必要條件,是清楚地讓讀者或學生知道有什麼東西是被省略的、有什麼東西是我們還不知道的。畢竟知識本身最終還是由接受的一方詮釋,再好的老師或是再好的書,都無法控制別人如何解讀(同時這也是科學非常“社會化”的一面)。於是在知識本身的呈現之外,適時的提醒便顯得非常重要。其實話說到底,即使離開科普的討論,在科學的學習和研究中,抱持謙卑和清楚地知道自己不懂什麼,也是不可或缺的。下圖是個我的mini-course中最後一堂課中的投影片,在這邊作為一個警惕與期許。

至於理想中的好科普是否在現實中可行?我覺得這個問題就像是在問科學家是否可以找到理想中的完美理論一樣,到頭來可能更接近於個人信仰了。至少我個人是保持樂觀,在市面上的確也看到一些對我來說還不錯的書或是課程。但至於該如何辨別科普的優劣,這個可能真的就只能靠個人修煉了。任何的書或是課程,都是會有正面和負面的聲音同時出現,有時候正面音量大也不見得代表就是好的,反之負面音量大也不代表一無可取。最終雪亮的眼睛以及批判的閱讀,才是能夠帶領一個人在知識之路顛簸向前的路燈。

最後,也想留幾句話給未來的自己作為一個警惕。在受到刺激的時候,別急著反駁,甚至不小心忘記了檢視自己的問題。人都會犯錯,最重要的是坦然面對自己的錯誤,並且在之中成長。期許自己,be confident but also be humble, be curious but also be rigorous。

Simons Institute十週年研討會

趁著六月要去實習前的空擋,跑來參加了Simons Institute十週年研討會。研討會包含了二十個左右橫跨各種主題的演講,以及幾個討論理論CS未來發展的座談會。由於年底就要開始想想下一步要往哪裡去了,這個研討會可以說是一個讓我想清楚下個階段研究方向的的好機會。

首先不得不說這次Simons十週年研討會讓我對理論CS有了全新的認知,原本抱持著參加類似STOC/FOCS這種會議的心態,預期大部分的演講應該都是著重複雜數學技術。沒想到我完全跌破了眼鏡,整整三天下來(我第一次在一個會議中聽了所有的演講),不光是主題的多樣性,連研究方式的豐富程度也讓我大開眼界。尤其是大部分的講者除了呈現了他們想要解決的研究問題和成果,更是在不自覺中展現了他們面對各自遇到的困難問題時,不同解決問題的方法論。在前往Berkeley的路上時,我還在想該如何問問大家對於數學證明之外的理論研究的方法論有沒有什麼看法,在聽了這些演講後,這個問題還沒被問出就被回答了。

而這幾年來我心中對理論CS發展方式的批判和質疑,也在會議劃下句點時跟著煙消雲散。我才終於發現到雖然會議中的主流文章越來越加複雜和脫離實際,但是還是有著一群領域內的大佬們試圖發展不同的方式,用理論的角度來試圖回答一些數學證明不太能觸及的問題。這邊我要澄清一下我還是非常喜歡數學證明,平常更是會不時學一些新的數學理論(像是上週末看了好多的代數拓墣),不過同時我覺得數學證明不見得在所有跟計算相關的問題上都能夠得到令人滿意的解釋,甚至有時候過度追求完美的數學證明反而會失去了深刻的見解。

在聽了第二天下午的panel discussion以及和幾個前輩聊聊之後,更是讓我對於未來中長期的研究方向/方法論有了更成熟的圖像,感覺就像是重新地愛上了理論CS這個領域,對於未來充滿了興奮與期待。

對於「理論」的重新思考

語言真的是個很奇妙的東西,當年紀越來越大,很多詞彙的定義對我來說反而變得越來越模糊不清了。而「理論」大概就是一個很好的例子吧!(另一個讓我最近花很多時間思考的是「科學」)

年輕的時候,「理論」之於我來說就是抽象的邏輯推導建模,也就是設立基礎公設/公理/定義,然後從一系列的邏輯推演中得出理論理解。而理論CS的基礎教育也全部都是使用provable analysis,只有數學定理才能被稱之為理論。然而,這就是做理論唯一的方法嗎?或是讓我們退後一步,到底什麼是理論?理論的目的/意義/影響是什麼?理論可以有什麼樣的形式?

理論是什麼?

我很喜歡Wikipedia上對理論(Theory)的定義:

A theory is a rational type of abstract thinking about a phenomenon, or the results of such thinking.

理論是關於一個現象的理性抽象思考,或是其產物。

但也許這個定義有點太哲學了,讓我們試著以它做為起點,來拼湊看看一些關於「理論」更具體的描述和性質。我認為,一個理論是個對於某些現象或是概念的知識體系。而這個體系中主要包含了(1)一套理論語言(2)知識形成和驗證的機制。

理論語言:說到一個理論使用的語言,可能馬上想到的就是相關學科的一些專有名詞。的確這是語言最基礎的一個層次,但理論語言通常可以提供遠遠高於定義層次的作用。

首先理論語言提供了一個思考事情的方式。例如達爾文的天擇論,提供了一套十分生動的語言,用擬人化(競爭/適者生存)的方式讓生物學家(甚至一般人)來思考和討論物種的演化。另外一個我很喜歡,但是可能比較需要一些數學經驗的人才能體會的例子是範疇論(category theory)。長話短說,範疇論提供了一套非常乾淨簡潔的語言,讓數學家可以用同樣的方式理解許多原本看似距離遙遠的數學概念。

更進一步,理論語言提供了一個領域規劃未來研究方向的基石。以電腦科學為例,計算複雜度理論(computational complexity)提供了複雜度類別(complexity classes)這套語言,讓人們可以非常具體的指出領域內重要的問題是什麼(e.g., P versus NP)。反觀一些還很缺乏理論語言的領域,諸如「什麼是intelligence?」等問題,會讓研究學者非常難以嘗試回答,因為甚至沒有什麼著力點。

而一旦理論語言被確立了之後,其實同時也為一個領域能夠回答的問題設了一個上限。就像哥德爾不完備定理(Gödel’s incompleteness theorems)告訴我們的,一個完善的邏輯系統總是有他無法解釋/證明的命題。即使是對非形式化的語言,我相信同樣的極限也是存在的,只是可能更難清晰的論證出到底那個極限在哪裡。

知識形成和驗證的機制:一個理論體系除了語言之外最重要的大概就是一套驗證知識的機制了吧!換句話說,就是該如何系統性且客觀理性地判斷什麼樣的論述可以被留存下來。

隨著所探討的學科和理論語言的不同,甚至和歷史發展或是學者的風格,每個領域的驗證機制或多或少都有些異同之處。而我認為大部分的驗證機制都可以被歸類為以下兩種類型的其中一種,或是在兩者中取了某種平衡:

形式方法(formal method)

首先其實我原本想用的詞是「分析方法(analytical method)」,但是考量到一些領域對於分析方法有不一樣的詮釋,我決定用個比較不容易產生誤會的詞來解釋我想表達的概念。

對我來說,形式方法的論證機制的特徵是著重在根據一些共同認定或是假設(axioms/hypotheses)的基礎之下,使用數學證明和邏輯推演論證出更多的定理(theorems),並且在眾多定理之下繼續往前推導出更多新的定理。而這些定理,以及人們對定理的詮釋,則構成了知識。在許多時候,推導定理的過程會產生一些意想不到的驚喜,而使得這些過程/數學證明往往也會成為知識的一部份。

數學毫無疑問地就是使用形式方法的最佳例子,而理論CS中大部分的子領域也都是使用這樣的方法論。在一些自然科學的理論分枝,像是一部份的理論物理或是理論生物研究,也會或多或少採用形式方法。

形式方法的優點在於,除了邏輯的嚴格性之外,它沒有太多其他的限制,因此有時候可以帶領人們思考地非常遙遠。很多的例子可以在理論物理中見到(e.g.,相對論、量子力學),而在理論CS之中,許多有趣的概念也是受益於這樣自由的思考模式(zero-knowledge proof, probabilistic checkable proof)。不過這個優點的反面就是很容易受到完美邏輯論證的限制綁手綁腳,或是為了數學上的正確必須用非常冗長瑣碎的證明解釋一些其實很簡單的概念。

經驗方法(empirical method)

絕大多數的科學學科(包括其比較理論的分枝)採用的都是經驗方法,也就是透過實驗觀察,或是數值模擬的方式來搜集事實(facts)及驗證假說。當然根據不同的學科和問題,會有不同的子機制(e.g.,不同的統計方法)來檢視什麼樣的觀察是合理的,在這邊我想強調的比較是經驗方法的最底層次是現實經驗,這也是為什麼我把數值方法歸類於此而非獨立成第三類驗證機制。

經驗方法與形式方法最大不同的地方就在於,它提供了事實(facts),它告訴了我們且試圖解釋真實發生的實情。雖然經驗方法得出的一切觀察與理論都還是參雜了一些人為的推論的解讀,但是本質上它是服膺於實際發生現象。也因此,經驗方法的底線是(在論證”合理”之下)符合和解釋現實。

So what?

寫了這麼多看起來像是廢話的東西,我們終於可以來討論我對「理論」重新思考的重點了。由於我其實也還在塑建自己想法的過程中,所以以下我將會用提出問題的方式來呈現我的思考,希望可以激發讀者做一些深入的思考,也期待這些問題可以漸漸地找到一些有意思的回答。

現有理論方法論的邊界? 私認為現有的理論方法論走到了兩個轉捩點。其一是形式方法進入到了近乎巴洛克風格的階段,越來越複雜且和現實脫離。其二是機器學習/深度學習帶來經驗方法的革命,各種人類無法理解但是實際上有效的方法(e.g., Alphafold)大量湧現。前者警示了我們傳統完美數學邏輯論證的方式似乎進入了緩慢成長且窄門化的境界,後者則是挑戰了現有理論方法能夠處理的邊界。我們是否真的能依賴一直以來的方法論們來處理這些舊時代遺留的重要問題和新時代產生的新問題?我們是否需要新的理論架構?

如何構造不同層次的理論語言? 對於上述的問題,我個人認為的突破口是建立一系列服務不同層次理解的理論語言。現有的理論語言大多要麼是純粹數學邏輯化的,要麼是描述性(descriptive)的,鮮少能有介於之間且能夠順暢翻譯的語言。一個好的例子可能又是達爾文的天擇論,這個理論架構中不但有一套比較方便溝通類比的直覺性語言(e.g., 適者生存),同時有比較機械化的中層語言(e.g., 適應性地貌(fitness landscape)),還有底層的數學語言(e.g., 演化動力學(evolutionary dynamics))。對於那些卡在底層數學證明的問題,我們是否能夠往上一層建立個不完美但堪用的理論語言?

有什麼混用形式方法與經驗方法或是其他的方法論? 物理學可以說是最成功將純粹抽象數學推導和實驗觀察結合的學科,其他的領域是否能夠也有這樣混合並用的方法論?其實每個領域或多或少都有不同程度的混用這兩種截然不同的方法論,只不過子領域之間的隔閡造成不良的溝通。而根本的原因可能還是目的與審美的不同,導致形式方法與經驗方法漸行漸遠。也許要形成新的方法論沒有想像中那麼的難,真正的挑戰反而是在於如何接壤過去舊有的學派,展開心胸接納不同的方法。

Ph.D. 第五年心得

實在不知道為什麼,連續兩年柴犬都剛好在夏秋交替之際生了場大病。雖然最終都發現是因為亂吃東西造成的,並沒有長期的隱憂,不過仍然帶來了許多心力的折騰,也讓這篇文章的撰寫推遲了一陣子。

隨著Ph.D.進入最後一年,身邊許多好友接連畢業,剛入學的大學生和博士一年級學生,更是稚嫩的讓人感嘆時間的飛逝。和這些小朋友聊著他們對研究生活的憧憬,似乎看見了當年的自己,雖然心中有說不完的經驗想要分享,最終卻笑著決定還是讓他們各自慢慢探索吧!這樣說起來好像有點理解為什麼每次當我問Boaz建議時,他總是很簡單的說跟隨自己的熱情就好。

這一年發生了什麼?

這一年美國總算基本上恢復了原本的生活,從課程轉回實體、各種設施的開放到更多和人們實際的交流,彷彿回到了剛來美國的時候,一切充滿了希望和幹勁。不過雖然大部分事情看起來都往好的方向走去,我卻開始對研究方向感到了十分困惑。

在接觸了越來越多不一樣的領域(特別是量子物理和腦神經科學)之後,讓我開始思考什麼樣的方法論是我想要追尋的。不可否認的,數學還是對我來說最舒服自在的語言,每次看到一個新的數學猜想或是理論都還是常常讓我興奮得睡不著覺。但同時我也越來越能適應物理的直覺,以及生物的複雜世界觀。然而身為一個學者,在學習之餘,還是需要有所謂的研究產出,那麼我希望在哪個領域做出貢獻?我是要繼續做數學證明、跑數值分析還是做實驗提假說?

在學年剛開始時,我很確定的是,我暫時不太想繼續在還有很多小問題可以做的streaming model上面花時間,但是我又不太想要直接用很理論CS的方式做一些量子和腦神經科學的問題。於是,我開始系統性的讀一些物理的教材,同時在原本就有的腦神經科學讀書會更系統性的學習不同的方向。既然都進入了學習的模式,甚至乾脆做了Science and Cooking的助教,然後修了一直很想學的音樂理論。這些不同的學習除了在知識層面之外,很意外的還讓我接觸到了不同領域”做理論”的方式。由於是理論CS背景的關係,理論對於我來說一直都是“數學理論”,好像沒有了嚴格的數學證明就不太能登大雅之堂。但無論是在讀物理教科書時發現裡面幾乎不會有完整的證明、在Science and Cooking中看到了許多應用物理推導公式的神秘方法、還有音樂理論中許多約定俗成的瑣碎規則等等。我才漸漸理解並且接受“理論”可以有的多重面貌。

整個秋季下來學習了滿滿的知識,也讓我決定該找個機會好好整理一下所學。於是利用學校的資源在寒假的時候弄了一個為期兩週的迷你課程,趁機把未來的方向理清楚一些。在準備課程以及講授的過程中,我也漸漸對於跨領域研究有了不一樣的理解(在下面的段落會再深入討論),同時受到了Boaz不斷的提醒更是讓我意識到自己需要在許多的哲學性思考之餘,花更多的時間做實際的嘗試和工作(同樣的在下面的段落會再深入討論)。

到了春季學期,我更加深入的學習了量子計算和量子通訊,甚至還學了一些量子混沌及量子凝聚態。我突然意識到這些量子理論除了試圖解釋相對應的物理現象之外,更是提供了新的數學架構/語言能夠產生很多有趣的數學結構,這也是為什麼有些可以被應用在量子計算和量子機器學習上面。也許之後在其他的領域(例如腦神經科學),這些數學工具能夠刻畫一些實際現象。如果這樣的理論被建構出來了,並不見得是說大腦裡真的用了什麼量子物理,而只是說剛好某些大腦中的運作可以被同樣的數學描述和理解。

暑假我很幸運的到了紐約的Flatiron Institute的Center of Computational Neuroscience跟SueYeon做暑期實習。雖然大家都開玩笑説我學到最多的是怎麼做咖啡拉花,不過認真講,這十個禮拜讓我更全面的接觸了理論和計算腦神經科學的各種面向。最大的影響應該是讓我意識到了即使是要做腦神經科學相關的研究,我可能還是需要把由上而下的抽象理論,跟與實驗接觸的問題區分乾淨,才能夠各自找到合適的解讀和應用。

在博士即將畢業前這一年,很感謝Boaz給了我這麼大的自由探索不同的領域和方法論,雖然因為把大部分的時間都花在學習和思考上所以沒有太多研究產出,但是感覺漸漸找到了有熱忱和適合自己的研究方向。而平時的胡思亂想,也讓我把一些做(跨領域)研究和學生的癥結處整理出了一套自己的觀點。在剩餘的篇幅中,就讓我來分享一下近來的體悟。

從跨領域(interdisciplinary)到多領域(multidisciplinary)

一直以來,即使是在理論CS之內,我都是研究涉略範圍相對比較廣的人,也因此很自然地走上了所謂“跨領域”的道路。在開始跟越來越多其他領域(主要是物理和腦神經科學)的學者合作之後,我漸漸意識到,跨領域雖然能將一個領域的工具或方法應用在另外一個領域,但是卻時常有個隱形的阻礙。要嘛是不同領域的人之間的溝通一直不在同樣的頻率上,不然就是做出來的結果四不像。這樣的情形在比較明確的工具轉移(例如機器學習用在分析數據等等)時比較不容易出現,然而在比較抽象或本質的理論跨領域交流時(例如計算複雜度理論和量子物理)卻屢見不鮮。

這種阻礙通常都是來自於跨領域的合作太過於直接,會有其中一方把自己的方法論和專業整套搬去另外一個領域,沒有足夠的修改與溝通來適應對方的歷史脈絡跟價值觀。正因如此,讓我突然意識到更深入的跨領域合作其實應該要把“跨”這個字拿掉。畢竟有了“跨”這個動作時,說明了不同領域之間有主次之分,但是在真正深入的交流時,應該是要互相汲取適合的想法,融會貫通。也許,我們應該像牛頓那個時代之前的科學家看齊,事先進入不同的領域,學習其根本的概念與價值觀,甚至各自有些基本的研究經驗之後,在試著做多領域(multidisciplinary)的研究。

一個需要特別釐清的點是,我的意思並不是說大家應該先進入對方的領域花個幾年學成之後,在開始進行合作。我想強調的點是,在某些和多個領域有關的研究問題上,如果合作的成員們還沒有成熟到可以自如地在各個領域之間轉換時,那可能還不如選定其中一個領域,然後好好的以那個領域的方法論做下去。這甚至也適用在同一個領域的不同子領域的交流中!說來慚愧,會有這樣的體悟也是因為我自己和幾個不同的合作者,時常在不同的方法論之間(例如量子計算優勢(quantum computational advantage)的理論和實務層面)來回擺盪,幾個月下來常常搞得什麼進展也沒有。

當然,如果能夠有可以順暢溝通的合作者,也許就不需要自己真的從頭學起另外一個領域。不過身為一個理論學者,為了自己思想的自由,我還是期許自己可以腳踏實地的真的把物理和生物的基礎和價值觀內化吸收。這幾年下來,雖然離理想的狀態還有些距離,但是已經可以開始感受到自己的視野越來越廣闊,想問題的角度也越來越多,非常期待之後在不同領域打滾幾年甚至是做了博後之後,能夠在多個領域之間來去自如的境界。

性格的重要性

一個人到底適合做什麼?從小到大總是會有些人說是依照興趣,另外會有些人說是靠天賦。的確天賦是進入某個領域行業的入門券,隨著不同職業門檻可能會有所不同。興趣則可以說是讓一個人能夠在一個方向一直做下去的驅動力。而最近我開始越來越注意到另外一項因子的重要性,那就是性格。

性格有非常多的層面,例如在著名的MBTI性格測試中定義了四個性格的軸向(能量來源、感知偏好、判斷偏好、認知態度)。同時性格相較於天賦來說,更容易受後天的環境和經歷影響,雖然可能到了成年之後會越來越定型。

為什麼我越來越覺得性格在職業適合度上扮演關鍵性的角色呢?這也得從自身的經驗說起。在我的求學階段初期,我夢想的職業是打棒球,而最後棄武從文,一直以來的說法都是因為運動天賦不足。上了高中之後,一直對物理和數學很感興趣,但因為當時缺乏對這兩個學科真實面貌的理解,最後大學選擇主修了CS。在大學四年中我大量接觸各式各樣的領域,在CS內從軟體工程到Bitcoin到理論CS,在主修外也學了很多數學和旁聽一堆不同科系的課,還曾經弄了個跨領域讀書會,一度有超過十個不同科系的成員。大學畢業後,為了能夠繼續在學校學習知識,選擇了讀了個理論CS的博士班。五年過去了,從前兩年在理論CS內做了好多不一樣的子方向,到現在開始廣泛接觸物理和腦神經科學。

這筆流水帳看下來,我發現了一個共同的規律,那就是我的性格無法讓我只專注在一件小方向/事情上面很久很久。又或是說,當我掌握一項能力到一定程度之後,我就會開始被其他新的事物強烈吸引,進而轉換方向開始學習新的東西。即使隨著年齡的增長,我漸漸在做事情的細心和耐心上面成長了不少,但是我依然很難抗拒學習新事物的誘惑。這樣的個性讓我很難在需要極度專一的領域上走下去,而我也總是不知不覺的被拉往相對需要多種能力的方向。

當然,性格不是只有一個面向,其他諸如好奇心、追根究底的精神、好勝心等等也都是帶著我一直走到現在不可或缺的角色。看看身邊的研究生同學和朋友,也許外人會覺得大家的共通點是所謂的“聰明”,但我反而覺得對熱愛事物的堅持才是這些博士生還有學術工作者的必要條件。

哲學思考與實際工作的平衡

年初有次在和Boaz聊天討論研究方向的時候,Boaz突然脫口而出,要我小心不要變得太像一個哲學家。我當時一直沒有很理解他的話,在我心中,一個好的科學家不是也應該需要花一定程度的時間做哲學思考,釐清楚自己工作的意義和貢獻是什麼嗎?

直到最近在翻Steven Weinberg寫的To Explain the World: The Discovery of Modern Science,才讓我重新思考了關於哲學和科學的差別。Weinberg從古希臘哲學家例如柏拉圖和亞里斯多德講起,提到在那個年代其實就已經有非常多關於對世界如何運作的“理論”,思想和學問的累積也是很有深度,那為什麼這些知識是被歸類為哲學?或是為什麼這些哲學無法帶給古希臘科學革命?我們又可以如何從他們身上學習到借鏡?

也許直接拿哲學和科學相比,實在會有太多的不同,不過我覺得真的要說的話,兩者之間有兩個根本的差異:首先是科學講求驗證,再來就是科學(在理想上)追求盡可能的客觀和共識。對於後者可能會牽扯一些不同科學哲學流派的不同解讀,所以在這邊我想要只討論第一點,驗證在科學中扮演的重要角色。

說到驗證,其實仍然避不開哲學的討論,尤其是像對於複雜系統或是高能物理等等,這些科學的子領域的確可能無法再看得見的未來有可能被嚴謹驗證。然而這邊我想強調的更是科學中一種“驗證的態度”。即使是研究複雜的腦神經科學,或是宇宙起源及大統一理論等等,即使大家都知道短期內不太可能有實驗能夠驗證檯面上的理論,但是多數主流的發展仍然會抱持著盡可能接近實驗的精神和態度。從學術界的兩大期刊,Nature和Science,基本上都要求要有實驗的潛規則中,就可以看出驗證在科學界中的核心角色。

而這種對驗證態度的要求,讓科學相較於哲學是非常的實務的,也就是大家會傾向於看到證據和實際的“工作結果”。這樣的工作結果可以是進行嚴謹的實驗,也可能是詳細的數學理論推導。縱使方法論因為研究的課題不同,會略有差距,但共通點就是強調“做”。譬如說前幾週和一個做量子重力理論的博士後聊天,他就跟我說,就算你有再多天馬行空的理論和想法,最終還是要回到計算來讓人信服。雖然這些數學理論還沒辦法在物理世界中被驗證,但是至少要能夠在數學世界中說服人!

回到Boaz給我的提醒,的確哲學思考固然可以提升思想的深度,但是也很容易落為眼高手低。人生有限,我選擇的又是一條科學/數學的道路,應該是要以工作和創造為主,天馬行空和自我批判為輔。就像許多人說的,最理想的學者狀態,也許就是個白天的科學家和晚上的哲學家吧!?