Time to sleep for now.

This commit is contained in:
j-hartling
2026-06-18 14:50:08 +02:00
parent 4ec5fdca54
commit b085fb7e07
2 changed files with 88 additions and 78 deletions

153
main.tex
View File

@@ -1805,99 +1805,106 @@ adaptation. But the trade-off between intensity invariance and SNR likely goes
beyond the particular mechanisms along the pathway. After all, a transformation beyond the particular mechanisms along the pathway. After all, a transformation
is not expected to compress a range of different input intensities into a is not expected to compress a range of different input intensities into a
constant output intensity without sacrificing some of the corresponding input constant output intensity without sacrificing some of the corresponding input
SNR. This suggests that the trade-off is a more general principle that applies SNR. Accordingly, the trade-off likely is a more general principle that might
to any transformation that achieves or improves intensity invariance. apply to any transformation that achieves or improves intensity invariance.
% Dependence of thresh-LP intensity invariance on threshold value (+unlimited SNR): % Dependence of thresh-LP intensity invariance on threshold value (+unlimited SNR):
The second mechanism of intensity invariance consists of thresholding and The second mechanism of intensity invariance consists of thresholding and
temporal averaging of $c_i(t)$ into $f_i(t)$. Here, the trade-off between temporal averaging of $c_i(t)$ into $f_i(t)$. Here, the trade-off between
intensity invariance and SNR is mediated by the threshold value $\thr$. The intensity invariance and SNR is mediated by the threshold value $\thr$. The
effects of $\thr$ on the intensity invariance and SNR of $f_i(t)$ are best effects of $\thr$ on the intensity invariance and SNR of $f_i(t)$ are best
assessed if the mechanism is initially viewed in isolation. A lower assessed if the mechanism is viewed in isolation. A lower $\thr$~($\thr\to0$)
$\thr$~($\thr\to0$) improves the intensity invariance of $f_i(t)$ by shifting improves the intensity invariance of $f_i(t)$ by shifting the saturation point
the saturation point towards lower $\sca$. However, a lower $\thr$ also raises towards lower $\sca$. The saturation level of $f_i(t)$ is mostly independent of
the noise floor of $f_i(t)$ by including more of the pure-noise $c_i(t)$, which $\thr$, assuming that $\sca$ is sufficiently large. However, the lower $\thr$,
decreases the SNR of $f_i(t)$. The distribution $\pci$ of the pure-noise the more of the pure-noise $c_i(t)$ is included in $f_i(t)$ and hence the
$c_i(t)$ is very close to a normal distribution with mean $\mu\approx0$ for all higher the noise floor of $f_i(t)$, which decreases the SNR of $f_i(t)$. The
kernels in the set. The value of the pure-noise $f_i(t)$ is hence 0.5 for distribution $\pci$ of the pure-noise $c_i(t)$ is very close to a normal
$\thr=0$ and decreases for higher $\thr$. If $\thr$ is set above the maximum of distribution with mean $\mu\approx0$ for all kernels in the set. The value of
$c_i(t)$, the pure-noise feature value is 0, which results in an "unlimited" the pure-noise $f_i(t)$ is hence 0.5 for $\thr=0$ and decreases for higher
SNR of $f_i(t)$. In this case, any non-zero feature value that is sustained for $\thr$. If $\thr$ is set above the maximum of $c_i(t)$, the pure-noise feature
a sufficient duration could serve as indicator for the presence of $\soc(t)$ in value is 0, which results in an "unlimited" SNR of $f_i(t)$. In this case, any
$\raw(t)$. Of course, this would require a fine evolutionary tuning of $\thr$ non-zero feature value that is sustained for a sufficient duration could serve
to the properties of the natural noise in a certain habitat to avoid false as indicator for the presence of $\soc(t)$ in $\raw(t)$. Of course, this would
positives. require a fine evolutionary tuning of $\thr$ to the properties of the natural
noise in a certain habitat in order to avoid false positives.
% Interaction between the two mechanisms of intensity invariance: % Interaction between the two mechanisms of intensity invariance (expectations):
% (Also: Extremely important, but maybe too wordy?) % (Also: Extremely important, but maybe too wordy?)
The combined effect of the two consecutive mechanisms of intensity invariance The intensity invariance of $f_i(t)$ is not only determined by the second
depends on which mechanism results in a lower saturation point. In case of mechanism but by the interaction between the two consecutive mechanisms along
$f_i(t)$, it is necessary to distinguish between its intrinsic saturation the pathway. This interaction is difficult to assess systematically due to the
point~(the saturation point that the second mechanism can achieve in isolation) multitude of involved parameters. A basic expectation is that the combined
and its actual saturation point~(including the effects of the first mechanism). effects of the two mechanisms mostly depend on which mechanism achieves a lower
The same distinction applies to the saturation level of $f_i(t)$. The intrinsic saturation point, assuming that $f_i(t)$ is always intensity-invariant if
saturation point of $f_i(t)$ increases with increasing $\thr$. The intrinsic $\adapt(t)$ is already intensity-invariant. Furthermore, it is necessary to
saturation level of $f_i(t)$ is largely independent of $\thr$, assuming that distinguish between the intrinsic saturation point of $f_i(t)$ --- the
$\thr$ is sufficiently small or $\sca$ is sufficiently large. If the intrinsic saturation point that the second mechanism can achieve in isolation --- and its
actual saturation point including the effects of the first mechanism. The same
distinction applies to the saturation level of $f_i(t)$. If the intrinsic
saturation point of $f_i(t)$ is lower than the saturation point of $\adapt(t)$, saturation point of $f_i(t)$ is lower than the saturation point of $\adapt(t)$,
the second mechanism will take precedence over the first mechanism. In this $f_i(t)$ is expected to reach the intrinsic saturation level at the intrinsic
case, $f_i(t)$ will reach the intrinsic saturation level at the intrinsic
saturation point. In contrast, if the intrinsic saturation point of $f_i(t)$ is saturation point. In contrast, if the intrinsic saturation point of $f_i(t)$ is
higher than the saturation point of $\adapt(t)$, the first mechanism will take higher than the saturation point of $\adapt(t)$, $f_i(t)$ is expected to
precedence over the second mechanism. In this case, the actual saturation point saturate at the lower saturation point of $\adapt(t)$ instead. This has no
of $f_i(t)$ will be determined by the saturation point of $\adapt(t)$ rather detrimental effect on the intensity invariance of $f_i(t)$. However, $f_i(t)$
than the intrinsic saturation point of $f_i(t)$. This has no detrimental effect is then also expected to saturate below its intrinsic saturation level.
on the intensity invariance of $f_i(t)$. However, a lower saturation point of Moreover, the saturation level of $f_i(t)$ is not independent of $\thr$ anymore
$f_i(t)$ means that the actual saturation level of $f_i(t)$ will be lower than but decreases with increasing $\thr$. A lower saturation level of $f_i(t)$ is
its intrinsic saturation level. Moreover, the saturation level of $f_i(t)$ will not necessarily detrimental to the SNR of $f_i(t)$ --- $f_i(t)$ can still
not be independent of $\thr$ anymore but will decrease with increasing $\thr$. achieve an arbitrarily high SNR by setting $\thr$ just above the maximum
A lower saturation level of $f_i(t)$ does not necessarily impair the SNR of pure-noise $c_i(t)$. More importantly, a lower saturation level of $f_i(t)$
$f_i(t)$ --- $f_i(t)$ can still achieve an arbitrarily high SNR by setting also means that the range of possible feature values that $f_i(t)$ can take on
$\thr$ just above the maximum pure-noise $c_i(t)$. However, a lower saturation is limited compared to the case where $f_i(t)$ can reach its intrinsic
level of $f_i(t)$ does mean that the range of possible feature values that saturation level. This effectively restricts the part of the feature space that
$f_i(t)$ can take on is restricted compared to the case where $f_i(t)$ can is available for species-specific song representation. The interaction between
reach its intrinsic saturation level. In summary, the interaction between the the two mechanisms of intensity invariance could therefore have unfavorable
two mechanisms of intensity invariance along the pathway can have unfavorable consequences if the first mechanism results in a lower saturation point than
consequences for the overall system if the first mechanism takes precedence the second mechanism.
over the second mechanism. However, this interaction does not so much affect
the intensity invariance or the SNR of $f_i(t)$ but rather constraints the part
of the feature space that is available for species-specific song
representation.
% Check log-axis histogram counts! % Interaction between the two mechanisms of intensity invariance (current results):
% Why do so many features have a lower saturation point than adapt if so many The saturation point and saturation level of a feature in the set varies with
% do not reach the intrinsic saturation level?? the specific kernel.
Judging from the distribution of saturation points across the set of $f_i(t)$,
both interactions between the two mechanisms appear to be present in the The combined effects of the two mechanisms on the intensity invariance of a
current pathway. A number of $f_i(t)$ achieve a lower saturation point than specific feature in the set vary between different kernels
$\adapt(t)$, which indicates that the second mechanism takes precedence over
the first mechanism. These cases raise the question whether the first mechanism Based on the current results, it is difficult to assess which of the two
is actually necessary for the overall system if the second mechanism can mechanisms has a stronger effect on the intensity invariance of a specific
apparently achieve intensity invariance with a lower saturation point. There feature in the set.
are also some $f_i(t)$ whose saturation point matches the saturation point of
$\adapt(t)$, which indicates that the first mechanism takes precedence over the The combined effects of the two mechanisms on the intensity invariance of a
second mechanism. These cases raise the question whether intensity invariance specific feature in the set vary between different kernels. It is difficult to
by the first mechanism --- while achieving a lower saturation point than the assess which of the two mechanisms achieves a lower saturation point for a
second mechanism --- is actually beneficial specific feature. On the one hand, the distribution of saturation levels across
the feature set is not symmetric around a feature value of 0.5, which is the
case if the logarithmic compression along the pathway is disabled. This result
indicates that a number of features does not reach the intrinsic saturation
level, which suggests that the intensity invariance of these features is
determined by the first mechanism rather than the second mechanism. One the
other hand, the distribution of saturation points across the feature set
indicates that a number of features does indeed achieve a lower saturation
point than the preceeding representations. This result suggests that the
intensity invariance of these features is determined by the second mechanism
rather than the first mechanism. In either case, the question arises to what
extent two consecutive mechanisms of intensity invariance are actually
beneficial for the overall system.
These cases raise the question whether the first mechanism is actually
necessary for the overall system if the second mechanism can apparently achieve
intensity invariance with a lower saturation point. These cases raise the
question whether intensity invariance by the first mechanism --- while
achieving a lower saturation point than the second mechanism --- is actually
beneficial
The saturation point of $f_i(t)$ varies between different kernels in the set. A The saturation point of $f_i(t)$ varies between different kernels in the set. A
number of $f_i(t)$ achieve a lower saturation point than $c_i(t)$ --- and hence a lower saturation point than $\adapt(t)$ --- which number of $f_i(t)$ achieve a lower saturation point than $c_i(t)$ --- and hence a lower saturation point than $\adapt(t)$ --- which
indicates that the second mechanism takes precedence over the first mechanism. indicates that the second mechanism takes precedence over the first mechanism.
Some $f_i(t)$ exhibit similar or only marginally lower saturation points than Some $f_i(t)$ exhibit similar or only marginally lower saturation points than
The saturation points of $f_i(t)$ across the set are distributed over a much The saturation points of $f_i(t)$ across the set are distributed over a much
wider range than those of the preceeding $c_i(t)$, wider range than those of the preceeding $c_i(t)$,
which suggests that the
interaction between the two mechanisms is specific to individual kernels. A
number of $f_i(t)$ achieve a lower saturation point than the respective
$c_i(t)$,
whereas some $f_i(t)$ exhibit similar or only marginally lower
saturation points.
In these cases, the question arises to what extent two In these cases, the question arises to what extent two
consecutive mechanisms of intensity invariance are actually beneficial for the consecutive mechanisms of intensity invariance are actually beneficial for the
overall system. overall system.

View File

@@ -442,6 +442,7 @@ for stage in stages:
# Indicate saturation point(s): # Indicate saturation point(s):
if stage in ['log', 'inv', 'conv', 'feat']: if stage in ['log', 'inv', 'conv', 'feat']:
# Get and plot single curve saturation point:
ind = get_saturation(curve, **plateau_settings)[1] ind = get_saturation(curve, **plateau_settings)[1]
crit_inds[stage] = ind crit_inds[stage] = ind
scale = scales[ind] scale = scales[ind]
@@ -452,6 +453,13 @@ for stage in stages:
transform=raw_axes[0].get_xaxis_transform()) transform=raw_axes[0].get_xaxis_transform())
raw_axes[0].vlines(scale, raw_axes[0].get_ylim()[0], curve[ind], raw_axes[0].vlines(scale, raw_axes[0].get_ylim()[0], curve[ind],
color=color, **plateau_line_kwargs) color=color, **plateau_line_kwargs)
if stage in ['conv', 'feat']:
# Get and log distribution of swarm saturation points:
inds = np.array(get_saturation(measure, **plateau_settings)[1])
if np.isnan(inds).sum():
print('WARNING: Found NaN saturation point(s)!')
inds = inds[~np.isnan(inds)].astype(int)
crit_scales_swarm[stage] = scales[inds]
## NORMALIZED MEASURE: ## NORMALIZED MEASURE:
@@ -476,11 +484,6 @@ for stage in stages:
fill_kwargs = dist_fill_kwargs | dict(color=color) fill_kwargs = dist_fill_kwargs | dict(color=color)
y_dist(base_insets[i1], measure[-1], nbins=100, log=True, y_dist(base_insets[i1], measure[-1], nbins=100, log=True,
line_kwargs=line_kwargs, fill_kwargs=fill_kwargs) line_kwargs=line_kwargs, fill_kwargs=fill_kwargs)
# Get and log distribution of saturation points:
inds = np.array(get_saturation(measure, **plateau_settings)[1])
if np.isnan(inds).sum():
inds = inds[~np.isnan(inds)].astype(int)
crit_scales_swarm[stage] = scales[inds]
if stage == 'feat': if stage == 'feat':
# Plot distribution of saturation points on shared bins: # Plot distribution of saturation points on shared bins:
bin_lims = [0.01, 1.1 * max([s.max() for s in crit_scales_swarm.values()])] bin_lims = [0.01, 1.1 * max([s.max() for s in crit_scales_swarm.values()])]