diff --git a/figures/fig_feat_stages.pdf b/figures/fig_feat_stages.pdf index 1cb513b..d2ef3e8 100644 Binary files a/figures/fig_feat_stages.pdf and b/figures/fig_feat_stages.pdf differ diff --git a/figures/fig_pre_stages.pdf b/figures/fig_pre_stages.pdf index c62244c..aa8582b 100644 Binary files a/figures/fig_pre_stages.pdf and b/figures/fig_pre_stages.pdf differ diff --git a/main.aux b/main.aux index 514d122..c20f48f 100644 --- a/main.aux +++ b/main.aux @@ -240,10 +240,10 @@ \abx@aux@page{71}{9} \abx@aux@page{72}{9} \newlabel{eq:lowpass}{{10}{9}{}{}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces \textbf {Representations of a song of \textit {O. rufipes} during the feature extraction stage.} \textbf {a}:~Kernel-specific filter responses. \textbf {b}:~Binary responses. \textbf {c}:~Finalized features. }}{10}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces \textbf {Representations of a song of \textit {O. rufipes} during the feature extraction stage.} Different colors indicate Gabor kernels with different lobe number $n$ and sign, with lighter colors for higher $n$~($1\,\leq \,n\,\leq \,4$; both $+$ and $-$ per $n$; two kernel widths $\sigma $ of $4\,$ms and $32\,$ms per sign). \textbf {a}:~Kernel-specific filter responses. \textbf {b}:~Binary responses. \textbf {c}:~Finalized features. }}{10}{}\protected@file@percent } \newlabel{fig:stages_feat}{{3}{10}{}{}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3}Two mechanisms driving the emergence of intensity-invariant song representation}{10}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Logarithmic scaling \& spike-frequency adaptation}{10}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3}Two mechanisms driving the emergence of intensity-invariant song representations}{10}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Logarithmic compression \& spike-frequency adaptation}{10}{}\protected@file@percent } \newlabel{eq:toy_env}{{11}{10}{}{}{}} \newlabel{eq:toy_snr}{{12}{11}{}{}{}} \newlabel{eq:toy_log}{{13}{11}{}{}{}} @@ -252,7 +252,7 @@ \newlabel{eq:pdf_split}{{15}{12}{}{}{}} \newlabel{eq:pdf}{{16}{12}{}{}{}} \newlabel{eq:feat_avg}{{17}{12}{}{}{}} -\newlabel{eq:feat_prop}{{18}{12}{}{}{}} +\newlabel{eq:feat_prop}{{18}{13}{}{}{}} \abx@aux@cite{0}{stumpner1991auditory} \abx@aux@segm{0}{0}{stumpner1991auditory} \@writefile{toc}{\contentsline {section}{\numberline {4}Discriminating species-specific song\\patterns in feature space}{14}{}\protected@file@percent } diff --git a/main.blg b/main.blg new file mode 100644 index 0000000..85ebe4a --- /dev/null +++ b/main.blg @@ -0,0 +1,71 @@ +[0] Config.pm:307> INFO - This is Biber 2.19 +[0] Config.pm:310> INFO - Logfile is 'main.blg' +[37] biber:340> INFO - === Mo Feb 23, 2026, 16:48:10 +[44] Biber.pm:419> INFO - Reading 'main.bcf' +[72] Biber.pm:979> INFO - Found 55 citekeys in bib section 0 +[78] Biber.pm:4419> INFO - Processing section 0 +[82] Biber.pm:4610> INFO - Looking for bibtex file 'cite.bib' for section 0 +[84] bibtex.pm:1713> INFO - LaTeX decoding ... +[113] bibtex.pm:1519> INFO - Found BibTeX data source 'cite.bib' +[278] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' +[278] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' +[278] Biber.pm:4239> INFO - Sorting list 'nyt/global//global/global' of type 'entry' with template 'nyt' and locale 'en-US' +[278] Biber.pm:4245> INFO - No sort tailoring available for locale 'en-US' +[300] bbl.pm:660> INFO - Writing 'main.bbl' with encoding 'UTF-8' +[309] bbl.pm:763> INFO - Output to main.bbl +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 10, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 21, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 38, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 49, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 58, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 73, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 82, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 91, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 100, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 109, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 118, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 127, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 136, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 157, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 178, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 187, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 196, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 207, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 218, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 229, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 240, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 249, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 258, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 269, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 278, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 289, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 300, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 309, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 328, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 337, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 400, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 419, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 428, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 437, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 456, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 491, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 526, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 535, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 556, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 565, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 576, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 587, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 619, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 648, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 658, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 667, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 688, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 709, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 720, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 729, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 749, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 766, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 775, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 800, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:131> WARN - BibTeX subsystem: /tmp/biber_tmp_DBXa/347c261ec4135a5723bef5c751f5078f_38197.utf8, line 817, warning: 6 characters of junk seen at toplevel +[310] Biber.pm:133> INFO - WARNINGS: 55 diff --git a/main.fdb_latexmk b/main.fdb_latexmk index f4628fc..d3ce154 100644 --- a/main.fdb_latexmk +++ b/main.fdb_latexmk @@ -1,14 +1,14 @@ # Fdb version 4 -["biber main"] 0 "main.bcf" "main.bbl" "main" 1771594142.3788 -1 +["biber main"] 1771861690.00046 "main.bcf" "main.bbl" "main" 1771861692.33072 0 "cite.bib" 1770904753.08918 27483 4290db0c91f7b5055e25472ef913f6b4 "" - "main.bcf" 1771594142.32535 112931 2a478116d80ebb1ada7083a24facd6e3 "pdflatex" + "main.bcf" 1771861692.281 112931 2a478116d80ebb1ada7083a24facd6e3 "pdflatex" (generated) "main.bbl" "main.blg" (rewritten before read) -["pdflatex"] 1771594141.52192 "/home/hartling/phd/paper/paper_2025/main.tex" "main.pdf" "main" 1771594142.379 0 +["pdflatex"] 1771861691.4921 "/home/hartling/phd/paper/paper_2025/main.tex" "main.pdf" "main" 1771861692.33094 0 "/etc/texmf/web2c/texmf.cnf" 1761560044.43676 475 c0e671620eb5563b2130f56340a5fde8 "" - "/home/hartling/phd/paper/paper_2025/main.tex" 1771594140.53237 40174 1d26ae5432e042e6f25ac4bb5c8c02cb "" + "/home/hartling/phd/paper/paper_2025/main.tex" 1771861689.92003 42210 82561b81252639a9abccd038ca74c3d6 "" "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" @@ -152,12 +152,12 @@ "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1761648465.84635 5472669 54eaf61a88b6b7896ebd0dac973cb29c "" "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1761648508 8213325 7fd20752ab46ff9aa583e4973d7433df "" "figures/fig_auditory_pathway.pdf" 1771593904.14638 1153923 3df8539421fd21dc866cc8d320bd9b1d "" - "figures/fig_feat_stages.pdf" 1771576871.09371 12242319 f30d2d248dee27a5c1fabc0e2bba84e6 "" - "figures/fig_pre_stages.pdf" 1771576868.50271 440442 01f6784cecdc783a1c677138eef7f22c "" - "main.aux" 1771594142.31935 11587 5450d835105f93ac20f7015a8a1442e4 "pdflatex" - "main.bbl" 1771493997.53596 91039 1380dc8c93d2855fdb132cc5a40ad52f "biber main" - "main.run.xml" 1771594142.32535 2335 a049bc26a7f032e842ce55de5bc38328 "pdflatex" - "main.tex" 1771594140.53237 40174 1d26ae5432e042e6f25ac4bb5c8c02cb "" + "figures/fig_feat_stages.pdf" 1771841347.81651 8600157 89f9276167cc096f9adce052152edd70 "" + "figures/fig_pre_stages.pdf" 1771841345.77353 440442 263f9bd4a3bca8e0653ac0a4c4a8da2c "" + "main.aux" 1771861692.275 11823 9d8ab19632a40e4eeb6980cdf51151a8 "pdflatex" + "main.bbl" 1771861690.61302 91039 1380dc8c93d2855fdb132cc5a40ad52f "biber main" + "main.run.xml" 1771861692.281 2335 a049bc26a7f032e842ce55de5bc38328 "pdflatex" + "main.tex" 1771861689.92003 42210 82561b81252639a9abccd038ca74c3d6 "" (generated) "main.aux" "main.bcf" diff --git a/main.log b/main.log index 7bf0345..419a6eb 100644 --- a/main.log +++ b/main.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2025.10.28) 20 FEB 2026 14:29 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2025.10.28) 23 FEB 2026 16:48 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -702,29 +702,29 @@ LaTeX Font Info: Trying to load font information for U+msb on input line 38. (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) -Overfull \hbox (54.40451pt too wide) in paragraph at lines 114--145 +Overfull \hbox (54.40451pt too wide) in paragraph at lines 117--148 \OT1/cmr/m/n/12 and eval-u-a-tion ([]), sender lo-cal-iza-tion ([]), [] -Overfull \hbox (9.21051pt too wide) in paragraph at lines 114--145 +Overfull \hbox (9.21051pt too wide) in paragraph at lines 117--148 \OT1/cmr/m/n/12 tion sig-nals for dif-fer-ent con-texts and ranges us-ing their wings, hindlegs, or mandibles ([]). [] [1 {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] -Overfull \hbox (42.86342pt too wide) in paragraph at lines 210--271 +Overfull \hbox (42.86342pt too wide) in paragraph at lines 213--274 \OT1/cmr/m/n/12 and grasshop-pers ([]; re-view on both: []). [] -Overfull \hbox (3.29253pt too wide) in paragraph at lines 210--271 +Overfull \hbox (3.29253pt too wide) in paragraph at lines 213--274 []\OT1/cmr/m/n/12 ; []). The fit-ted sig-moidal [] [3] -Overfull \hbox (41.1838pt too wide) in paragraph at lines 304--339 +Overfull \hbox (41.1838pt too wide) in paragraph at lines 307--342 \OT1/cmr/m/n/12 for con-spe-cific song recog-ni-tion and re-sponse ini-ti-a-tion ([]; [] @@ -732,10 +732,10 @@ Overfull \hbox (41.1838pt too wide) in paragraph at lines 304--339 File: figures/fig_auditory_pathway.pdf Graphic file (type pdf) -Package pdftex.def Info: figures/fig_auditory_pathway.pdf used on input line 342. +Package pdftex.def Info: figures/fig_auditory_pathway.pdf used on input line 345. (pdftex.def) Requested size: 483.69687pt x 518.2677pt. -Overfull \hbox (65.93214pt too wide) in paragraph at lines 365--371 +Overfull \hbox (65.93214pt too wide) in paragraph at lines 368--374 \OT1/cmr/m/n/12 tym-pa-nal mem-brane acts as a me-chan-i-cal res-o-nance fil-ter for sound-induced vi-bra-tions ([]; [] @@ -750,17 +750,17 @@ Overfull \vbox (0.8319pt too high) has occurred while \output is active [] File: figures/fig_pre_stages.pdf Graphic file (type pdf) -Package pdftex.def Info: figures/fig_pre_stages.pdf used on input line 414. +Package pdftex.def Info: figures/fig_pre_stages.pdf used on input line 417. (pdftex.def) Requested size: 483.69687pt x 181.38585pt. [7 <./figures/fig_pre_stages.pdf>] [8] -Overfull \hbox (42.89445pt too wide) in paragraph at lines 507--516 +Overfull \hbox (42.89445pt too wide) in paragraph at lines 510--519 \OT1/cmr/m/n/12 glion ([]; []; []). [] File: figures/fig_feat_stages.pdf Graphic file (type pdf) -Package pdftex.def Info: figures/fig_feat_stages.pdf used on input line 528. +Package pdftex.def Info: figures/fig_feat_stages.pdf used on input line 531. (pdftex.def) Requested size: 483.69687pt x 181.38585pt. [9] [10 <./figures/fig_feat_stages.pdf>] [11] [12] [13] [14] (./main.aux) *********** @@ -772,15 +772,15 @@ Package logreq Info: Writing requests to 'main.run.xml'. ) Here is how much of TeX's memory you used: - 20714 strings out of 474222 - 446207 string characters out of 5748732 + 20717 strings out of 474222 + 446216 string characters out of 5748732 1937975 words of memory out of 5000000 - 42704 multiletter control sequences out of 15000+600000 + 42707 multiletter control sequences out of 15000+600000 569394 words of font info for 79 fonts, out of 8000000 for 9000 1143 hyphenation exceptions out of 8191 94i,19n,93p,955b,1732s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on main.pdf (14 pages, 14001839 bytes). +Output written on main.pdf (14 pages, 10362545 bytes). PDF statistics: 1226 PDF objects out of 1440 (max. 8388607) 745 compressed objects within 8 object streams diff --git a/main.pdf b/main.pdf index 98427c5..841a678 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.synctex.gz b/main.synctex.gz index ecce11e..5224a3c 100644 Binary files a/main.synctex.gz and b/main.synctex.gz differ diff --git a/main.tex b/main.tex index a967765..9328699 100644 --- a/main.tex +++ b/main.tex @@ -86,9 +86,12 @@ \newcommand{\thr}{\Theta_i} % Step function threshold value \newcommand{\nl}{H(c_i\,-\,\thr)} % Shifted Heaviside step function -% Math shorthands - Minor symbols and helpers: -\newcommand{\svar}{\sigma_{\text{s}}^{2}} % Song signal variance -\newcommand{\nvar}{\sigma_{\eta}^{2}} % Noise signal variance +% Math shorthands - Intensity invariance analysis: +\newcommand{\soc}{s} % Song component of synthetic mixture +\newcommand{\noc}{\eta} % Noise component of synthetic mixture +\newcommand{\sca}{\alpha} % Multiplicative scale of song component +\newcommand{\svar}{\sigma_{\text{s}}^{2}} % Song component variance +\newcommand{\nvar}{\sigma_{\eta}^{2}} % Noise component variance \newcommand{\pc}{p(c_i,\,T)} % Probability density (general interval) \newcommand{\pclp}{p(c_i,\,\tlp)} % Probability density (lowpass interval) @@ -387,7 +390,7 @@ sigmoidal response curve over logarithmically compressed intensity levels~(\bcite{suga1960peripheral}; \bcite{gollisch2002energy}). In the model pathway, logarithmic compression is achieved by conversion to decibel scale \begin{equation} - \db(t)\,=\,10\,\cdot\,\dec \frac{\env(t)}{\dbref}, \qquad \dbref\,=\,\max[\env(t)] + \db(t)\,=\,10\,\cdot\,\dec \frac{\env(t)}{\dbref}, \qquad \dbref\,=\,\max\big[\env(t)\big] \label{eq:log} \end{equation} relative to the maximum intensity $\dbref$ of the signal envelope $\env(t)$. @@ -492,12 +495,12 @@ the left of the two central lobes (odd kernels). \label{tab:gabor_phases} \end{table} \FloatBarrier -These four groups of Gabor kernels allow for the extraction of different types -of signal features, such as the presence of peaks (even, $+$), troughs (even, -$-$), onsets (odd, $+$), and offsets (odd, $-$) at various time scales. +These four major groups of Gabor kernels allow for the extraction of different +types of signal features, such as the presence of peaks (even, $+$), troughs +(even, $-$), onsets (odd, $+$), and offsets (odd, $-$) at various time scales. Following the convolutional template matching, each kernel-specific response -$c_i(t)$ is passed through a shifted Heaviside step-function $\nl$ with threshold -value $\thr$ to obtain a binary response +$c_i(t)$ is passed through a shifted Heaviside step-function $\nl$ with +threshold value $\thr$ to obtain a binary response \begin{equation} b_i(t,\,\thr)\,=\,\begin{cases} \;1, \quad c_i(t)\,>\,\thr\\ @@ -528,6 +531,10 @@ can be read out by a simple linear classifier. \includegraphics[width=\textwidth]{figures/fig_feat_stages.pdf} \caption{\textbf{Representations of a song of \textit{O. rufipes} during the feature extraction stage.} + Different colors indicate Gabor kernels with different + lobe number $\kn$ and sign, with lighter colors for higher + $\kn$~($1\,\leq\,\kn\,\leq\,4$; both $+$ and $-$ per $\kn$; + two kernel widths $\kw$ of $4\,$ms and $32\,$ms per sign). \textbf{a}:~Kernel-specific filter responses. \textbf{b}:~Binary responses. \textbf{c}:~Finalized features. @@ -536,55 +543,62 @@ can be read out by a simple linear classifier. \end{figure} \FloatBarrier -\section{Two mechanisms driving the emergence of intensity-invariant song representation} +\section{Two mechanisms driving the emergence of intensity-invariant song representations} -\textbf{Definition of invariance (general, systemic):}\\ -Invariance = Property of a system to maintain a stable output with respect to a -set of relevant input parameters (variation to be represented) but irrespective -of one or more other parameters (variation to be discarded) -$\rightarrow$ Selective input-output decorrelation +% Still missing the SNR analysis. Should be able to write around it for now. +The robustness of song recognition is tied to the degree of intensity +invariance of the finalized feature representation. Ideally, the values of each +feature should depend only on the relative amplitude dynamics of the song +pattern but not on the overall intensity level of the song. In the grasshopper, +the emergence of intensity-invariant representations along the song recognition +pathway likely is a distributed process that involves different neuronal +populations, which raises the question of what the essential computational +mechanisms are that drive this process. Within the model pathway, we identified +two key mechanisms that render the song representation more invariant to +variations in baseline intensity. The two mechanisms each comprise a nonlinear +signal transformation followed by a linear signal transformation but differ in +the specific operations and the neural substrate involved, as outlined in the +following sections. -\textbf{Definition of intensity invariance (context of neurons and songs):}\\ -Intensity invariance = Time scale-selective sensitivity to certain faster -amplitude dynamics (song waveform, small-scale AM) and simultaneous -insensitivity to slower, more sustained amplitude dynamics (transient baseline, -large-scale AM, current overall intensity level)\\ -$\rightarrow$ Without time scale selectivity, any fully intensity-invariant -output will be a flat line +\subsection{Logarithmic compression \& spike-frequency adaptation} -\subsection{Logarithmic scaling \& spike-frequency adaptation} - -Envelope $\env(t)$ $\xrightarrow{\text{dB}}$ Logarithmic $\db(t)$ $\xrightarrow{\hp}$ Adapted $\adapt(t)$ - -- Rewrite signal envelope $\env(t)$ (Eq.\,\ref{eq:env}) as a synthetic mixture:\\ -1) Song signal $s(t)$ ($\svar=1$) with variable multiplicative scale $\alpha\geq0$\\ -2) Fixed-scale additive noise $\eta(t)$ ($\nvar=1$) -% +The first emergence of intensity invariance along the model pathway occurs +during the preprocessing stage, in the transition from the signal envelope +$\env(t)$ to the logarithmically scaled envelope $\db(t)$ and then to the +intensity-adapted envelope $\adapt(t)$. In order to disentangle the interplay +of logarithmic compression and adaptation, we can rewrite +$\env(t)$~(Eq.\,\ref{eq:env}) as synthetic mixture \begin{equation} - \env(t)\,=\,\alpha\,\cdot\,s(t)\,+\,\eta(t),\qquad \env(t)\,>\,0\enspace\forall\enspace t\,\in\,\mathbb{R} + \env(t)\,=\,\sca\,\cdot\,\soc(t)\,+\,\noc(t), \qquad \env(t)\,>\,0\enspace\forall\enspace t\,\in\,\mathbb{R} \label{eq:toy_env} \end{equation} -% -- Signal-to-noise ratio (SNR): Ratio of variances of synthetic mixture -$\env(t)$ with ($\alpha>0$) and without ($\alpha=0$) song signal $s(t)$, assuming $s(t)\perp\eta(t)$ -% +of a song component $\soc(t)$ with variable multiplicative scale $\sca\geq0$ +and a fixed-scale noise component $\noc(t)$. Both $\soc(t)$ and $\noc(t)$ are +assumed to have unit variance~($\svar=\nvar=1$). If $\soc(t)$ and $\noc(t)$ are +uncorrelated~($\soc(t)\perp\noc(t)$), the signal-to-noise ratio (SNR) of the +synthetic $\env(t)$ with ($\sca>0$) and without ($\sca=0$) song component +$\soc(t)$ is given by \begin{equation} \text{SNR}\,=\,\frac{\sigma_{s+\eta}^{2}}{\nvar}\,=\,\frac{\alpha^{2}\,\cdot\,\svar\,+\,\nvar}{\nvar}\,=\,\alpha^{2}\,+\,1 \label{eq:toy_snr} \end{equation} -% -\textbf{Logarithmic component:}\\ -- Simplify decibel transformation (Eq.\,\ref{eq:log}) and apply to synthetic $\env(t)$\\ -- Isolate scale $\alpha$ and reference $\dbref$ using logarithm product/quotient laws -% +When simplifying the decibel transformation~(Eq.\,\ref{eq:log}), the logarithmically +scaled envelope $\db(t)$ can be expressed as a sum of two logarithmic terms \begin{equation} \begin{split} \db(t)\,&=\,\log \frac{\alpha\,\cdot\,s(t)\,+\,\eta(t)}{\dbref}\\ - &=\,\log \frac{\alpha}{\dbref}\,+\,\log b_ig[s(t)\,+\,\frac{\eta(t)}{\alpha}b_ig] + &=\,\log \frac{\alpha}{\dbref}\,+\,\log \left[s(t)\,+\,\frac{\eta(t)}{\alpha}\right] \end{split} \label{eq:toy_log} \end{equation} -% + + + + +\textbf{Logarithmic component:}\\ +- Simplify decibel transformation (Eq.\,\ref{eq:log}) and apply to synthetic $\env(t)$\\ +- Isolate scale $\alpha$ and reference $\dbref$ using logarithm product/quotient laws + $\rightarrow$ In log-space, a multiplicative scaling factor becomes additive\\ $\rightarrow$ Allows for the separation of song signal $s(t)$ and its scale $\alpha$\\ $\rightarrow$ Introduces scaling of noise term $\eta(t)$ by the inverse of $\alpha$\\ @@ -597,7 +611,7 @@ interval $\thp$ ($0 \ll \thp < \frac{1}{\fc}$) % \begin{equation} \begin{split} - \adapt(t)\,\approx\,\db(t)\,-\,\log \frac{\alpha}{\dbref}\,=\,\log b_ig[s(t)\,+\,\frac{\eta(t)}{\alpha}b_ig] + \adapt(t)\,\approx\,\db(t)\,-\,\log \frac{\alpha}{\dbref}\,=\,\log\left[s(t)\,+\,\frac{\eta(t)}{\alpha}\right] \end{split} \label{eq:toy_highpass} \end{equation} @@ -715,6 +729,20 @@ initiation of one behavior over another is categorical (e.g. approach/stay) \section{Conclusions \& outlook} +\textbf{Definition of invariance (general, systemic):}\\ +Invariance = Property of a system to maintain a stable output with respect to a +set of relevant input parameters (variation to be represented) but irrespective +of one or more other parameters (variation to be discarded) +$\rightarrow$ Selective input-output decorrelation + +\textbf{Definition of intensity invariance (context of neurons and songs):}\\ +Intensity invariance = Time scale-selective sensitivity to certain faster +amplitude dynamics (song waveform, small-scale AM) and simultaneous +insensitivity to slower, more sustained amplitude dynamics (transient baseline, +large-scale AM, current overall intensity level)\\ +$\rightarrow$ Without time scale selectivity, any fully intensity-invariant +output will be a flat line + The model pathway includes a rather large number of Gabor kernels compared to the 15 to 20 ascending neurons in the grasshopper auditory system~(\bcite{stumpner1991auditory}). diff --git a/python/fig_pathway_stages.py b/python/fig_pathway_stages.py index a462411..5df544e 100644 --- a/python/fig_pathway_stages.py +++ b/python/fig_pathway_stages.py @@ -117,32 +117,12 @@ def reorder_traces(handles, signal, zlow=2, zhigh=2.5): return None def choose_kernels(kern_specs, features, kern_types, per_type=2, thresh=0.01): - embed() mean_feat = features.mean(axis=0) feat_diff = np.abs(mean_feat[:, None] - mean_feat[None, :]) feat_diff[features.max(axis=0) < thresh, :] = np.nan feat_diff = np.nanmean(feat_diff, axis=0) ranking = np.argsort(feat_diff) - - kern_inds = [] - for type_id in kern_types: - type_inds = np.nonzero(kern_specs[:, 0] == type_id)[0] - rank_inds = np.nonzero(np.isin(ranking, type_inds))[0][-per_type:] - kern_inds.extend(ranking[rank_inds]) - return np.array(kern_inds) - - - mean_feat = features.mean(axis=0) - mean_feat -= mean_feat.min() - mean_feat /= mean_feat.max() - - feat_diff = np.abs(mean_feat[:, None] - mean_feat[None, :]).mean(axis=0) - feat_diff -= feat_diff.min() - feat_diff /= feat_diff.max() - - ranking = np.argsort(mean_feat + feat_diff) - kern_inds = [] for type_id in kern_types: type_inds = np.nonzero(kern_specs[:, 0] == type_id)[0] @@ -162,7 +142,7 @@ def letter_subplots(axes, labels='abcd', x=0.02, y=1, ha='left', va='bottom', target = 'Omocestus_rufipes' data_paths = glob.glob(f'../data/processed/{target}*.npz') stages = ['filt', 'env', 'log', 'inv', 'conv', 'bi', 'feat'] -save_path = None#'../figures/' +save_path = '../figures/' # PLOT SETTINGS: fig_kwargs = dict( @@ -194,8 +174,8 @@ lw_full = dict( log=0.5, inv=0.5, conv=0.25, - bi=0, - feat=2 + bi=0.2, + feat=1.5 ) lw_zoom = dict( filt=0.5, @@ -203,8 +183,8 @@ lw_zoom = dict( log=1, inv=1, conv=1.5, - bi=0, - feat=2 + bi=0.2, + feat=1.5 ) loc_full = dict( filt=0.2, @@ -228,27 +208,27 @@ zoom_kwargs = dict( zorder=0, linewidth=0 ) -kernels = np.array([ - [1, 0.002], - [1, 0.016], - [-1, 0.002], - [-1, 0.016], - [2, 0.004], - [2, 0.032], - [-2, 0.004], - [-2, 0.032], - [3, 0.004], - [3, 0.032], - [-3, 0.004], - [-3, 0.032], - [4, 0.004], - [4, 0.032], - [-4, 0.004], - [-4, 0.032] -]) -# t = [1, 2, 3, 4] -# s = [0.001, 0.002, 0.004, 0.008, 0.032] -# kernels = np.array([[i, j] for i in t for j in s]) +# kernels = np.array([ +# [1, 0.002], +# [1, 0.016], +# [-1, 0.004], +# [-1, 0.032], +# [2, 0.004], +# [2, 0.016], +# [-2, 0.002], +# [-2, 0.032], +# [3, 0.008], +# [3, 0.032], +# [-3, 0.008], +# [-3, 0.032], +# [4, 0.004], +# [4, 0.032], +# [-4, 0.004], +# [-4, 0.032] +# ]) +t = [1, -1, 2, -2, 3, -3, 4, -4] +s = [0.004, 0.032] +kernels = np.array([[i, j] for i in t for j in s]) conv_colors = load_colors('../data/conv_colors.npz') bi_colors = load_colors('../data/bi_colors.npz') feat_colors = load_colors('../data/feat_colors.npz')